0

我希望用户能够使用 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

4

3 回答 3

1

您必须在路由定义中重新定义该路径助手:

devise_scope :user do
  get "sign_in" => "devise/sessions#new", :as => :new_user_session
end

这就是我一直在做的事情,而且效果很好。

请注意,我还删除了:to您路线中的部分。您可以直接使用=>将 URL 映射到控制器的操作。但我认为这与你的问题无关。

于 2013-09-24T15:39:49.687 回答
0

尝试添加一个正斜杠到sign_in

devise_scope :user do
  get "/sign_in", :to => "devise/sessions#new"
end
于 2013-09-24T13:49:28.837 回答
0

在您的 routes.rb 文件(devise_scope :user块外)中添加:

match "/sign_in", :to => "devise/sessions#new"
于 2013-09-24T15:22:54.287 回答