Rails设计覆盖视图中生成的动作路由?

时间:2015-04-05 06:42:02

标签: ruby-on-rails ruby devise routing

在使用Rails 4.1和Devise 3.3.0时,我注意到以下内容:

使用routes.rb时,例如

  devise_scope :user do
    get '/login', :to => "devise/sessions#new"
    get '/logout', :to => "devise/sessions#destroy"
    get '/sign_up', :to => "devise/registrations#new"
  end

然后是对其中一个行动的看法:

<%= render "devise/shared/links" %>

每个生成的href路径指向每个操作的默认Devise路径, 例如/ users / sign_in而不是/ login。

如何覆盖指定的默认路径?

2 个答案:

答案 0 :(得分:0)

在路线中添加以上代码。希望它现在有效。

devise_for :users, controllers: {registrations: "users/registrations", sessions: "users/sessions"}

答案 1 :(得分:0)

您可以要求设计生成视图:

rails generate devise:views

这将在您的应用中创建_links.html.erb文件,因此您可以更新它以使用您自己的路线。