当用户在 rails 中提供无效 url 时应显示 404 错误

Should Show 404 error when user provide invalid url in rails

假设我的网站 URL 是 http://localhost:3000, 但是当用户手动输入 http://localhost:3000/orders 时,他应该被重定向到 root_path 或其他一些路径,因为这个 url 只有在创建会话后才有效。 我得到
OrdersController 中没有方法错误#index

nil:NilClass 的未定义方法“订单”

为了确保用户将被重定向到 root url 你必须使用一些 before_action(Rails 3 中的before_filter)到您的控制器。

例如,如果您使用 Device gem 进行身份验证,则必须添加到您的控制器:

before_action :authenticate_user! (more details...)

如果您有自己的身份验证系统,则必须手动实施类似设备的 authenticate_user! 方法来设置 current_user。

如果我正确理解了你的问题,你应该明白了。