2015-04-05 76 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