2015-04-05 72 views
0

虽然使用Rails 4.1设计3.3.0我注意到以下几点:Rails设计视图中生成的覆盖操作路由?

当使用的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)。

如何覆盖这些默认路径为您指定的路径?

回答

0

将下面的代码添加到您的路线上面的代码。希望它现在可以工作。

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

这应该完成什么? – 2015-04-05 20:17:15

0

你可以要求设计生成的观点:

rails generate devise:views 

这将创建_links.html.erb文件到您的应用程序,这样你就可以更新它使用自己的路线。

+0

这样做不会覆盖默认行为,例如失败的登录尝试重定向回到/ users/sign_in而不是我指定的“/ sign_in”。我想设计完全忘记它/ users路径结构。 – 2015-04-05 20:16:43