我正在尝试在expressJS版本4应用程序中实现登录功能.我需要确定用户是否在他可以执行某些操作之前登录.所以我有一个名为isLoggedIn的中间件,它只检查用户对象是否在会话中,如果没有,则用户被重定向到登录页面.用户成功登录后,必须将其重定向到原始URL.
app.get('/someaction', isLoggedIn, 'actual function to be executed');
Run Code Online (Sandbox Code Playgroud)
现在在isLoggedIn方法中,我看到req.url和req.originalUrl包含请求的操作.但是,如果用户未登录,则在重定向到/ login页面时,req.url和req.originalUrl都具有"/ login"作为内容.根据我在这里阅读的内容,我可以覆盖req.url以进行内部路由.但在我的情况下,req.url和req.originalUrl都被"/ login"操作覆盖.我究竟做错了什么?
我有一堆路由(~50)需要映射到外部URL.我绝对可以按照这里的建议做,但这会混乱我的routes.rb文件.有什么办法可以在配置文件中使用它们并从我的routes.rb文件中引用它吗?
此外,当映射到外部URL时,如果它是非生产环境,则需要将其映射到"http:example-test.com/ ..",并且在生产模式下,它需要映射到"http:example.com/. ..".我知道我可以在配置中有一个yml文件来处理不同的环境.但是如何在routes.rb文件中访问它?
是否可以在 jquery 中访问 Rails params 哈希?在提交表单之前,我需要再向 params 添加一个键(它只是表中的一列)。
$('#form_id').submit(function() {
// do some manipulation to get key
params[key] = value;
// params in rails hash
$('#form_id').submit();
});
Run Code Online (Sandbox Code Playgroud)
这可能吗?
除了硬编码或使用 Math 模块之外,还有什么方法可以在 Ruby on Rails 中找到 60 的除数吗?我可以使用任何辅助方法/正则表达式吗?感谢您的帮助。