我希望用户能够使用 url http://myapp.com/sign_in 登录,因此我在路由中添加了以下内容。
devise_scope :user do
get "sign_in", :to => "devise/sessions#new"
end
这有效,但 devise 提供的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"