如何從Devise網址中刪除模型名稱?從Devise網址中刪除模型
即
users/sign_in -> /sign_in
users/sign_out -> /sign_out
users/registration/sign_up -> /sign_up
users/registration/edit -> /edit
如何從Devise網址中刪除模型名稱?從Devise網址中刪除模型
即
users/sign_in -> /sign_in
users/sign_out -> /sign_out
users/registration/sign_up -> /sign_up
users/registration/edit -> /edit
這是覆蓋在所述色器件自述(https://github.com/plataformatec/devise ):
Devise還附帶默認路由。 如果您需要自定義它們,您應該可以通過devise_for方法執行 。它 接受幾個選項,如 :CLASS_NAME,:串流中刪除等, 包括改變 路徑名I18N的可能性:
devise_for :users, :path => "usuarios", :path_names => { :sign_in => 'login', :sign_out => 'logout', :password => 'secret', :confirmation => 'verification', :unlock => 'unblock', :registration => 'register', :sign_up => 'cmon_let_me_in' }
一定要檢查 devise_for文檔的詳細信息。
如果你有更深刻的 定製的需求,比如同時還 允許「/ sign_in」除了 「/用戶/ sign_in」,所有你需要做的 是正常創建您的路線和 他們包裝在 一個devise_scope塊路由器:
devise_scope :user do
get "sign_in", :to => "devise/sessions#new"
end
這樣 你告訴設計使用範圍:用戶 當 「/ sign_in」 是訪問。通知 devise_scope也別名爲作爲和 你也可以給一個塊 devise_for,導致相同的 行爲:
devise_for :users do
get "sign_in", :to => "devise/sessions#new"
end
隨意 選擇一個你喜歡!
(也許這是不是在自述時,這個問題最初提出的問題。)
手動執行此操作的方法是Rails 3的將是:
match 'sign_in' => 'devise/sessions#new', :as => :sign_in
match 'sign_out' => 'devise/sessions#destroy', :as => :sign_out
忘了提,在這個項目中,我運行Rails 3。 – Alfred 2010-07-06 15:42:10