我希望用户能够使用 URL http://myapp.com/sign_in登录,因此我将以下内容添加到我的路线中。
devise_scope :user do
get "sign_in", :to => "devise/sessions#new"
end
这可行,但设计提供的 new_user_session_path 仍然指向http://myapp.com/users/sign_in。
请问如何将其更改为http://myapp.com/sign_in?
我希望用户能够使用 URL http://myapp.com/sign_in登录,因此我将以下内容添加到我的路线中。
devise_scope :user do
get "sign_in", :to => "devise/sessions#new"
end
这可行,但设计提供的 new_user_session_path 仍然指向http://myapp.com/users/sign_in。
请问如何将其更改为http://myapp.com/sign_in?
您必须在路由定义中重新定义该路径助手:
devise_scope :user do
get "sign_in" => "devise/sessions#new", :as => :new_user_session
end
这就是我一直在做的事情,而且效果很好。
请注意,我还删除了:to
您路线中的部分。您可以直接使用=>
将 URL 映射到控制器的操作。但我认为这与你的问题无关。
尝试添加一个正斜杠到sign_in
:
devise_scope :user do
get "/sign_in", :to => "devise/sessions#new"
end
在您的 routes.rb 文件(devise_scope :user
块外)中添加:
match "/sign_in", :to => "devise/sessions#new"