当用户在rails中提供无效的URL时,应该显示404错误

时间:2016-02-17 07:53:45

标签: ruby-on-rails-4 routing routes rails-routing rescue

假设我的网站网址为http://localhost:3000, 但是当用户手动键入http://localhost:3000/orders时,应将其重定向到root_path或其他路径,因为此URL仅在创建会话后有效。 我得到了 OrdersController中的NoMethodError #index

nil的未定义方法`orders':NilClass enter image description here

1 个答案:

答案 0 :(得分:1)

要确保将用户重定向到根网址,您必须使用一些 <{1}}(Rails 3中的before_action)指向您的控制器。

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

before_filtermore details...

如果您拥有自己的身份验证系统,则必须手动实现设备的before_action :authenticate_user!方法以设置current_user。

如果我正确理解了您的问题,您应该明白这一点。