2015-10-14 32 views
1

現在用的設計我的身份驗證時,我嘗試定製用戶/登錄用戶/ sign_in路線,但我不斷收到此錯誤未定義的方法使用設計在軌

NoMethodError in Devise::Sessions#new 
undefined method `user_session_path' for #<Module:0x651c828> 

它強調此行是在sign_in視圖

<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %> 
下面

是我route.rb

devise_scope :user do 
    get "login", to: "devise/sessions#new" 
    post "login", to: "devise/session#new" 
end 
+1

請幫助我們更好地爲您提供幫助:編輯您的問題並很好地格式化 – Marged

+1

您是否真的想要設置其他路線(意味着'/ users/sign_in'仍然可用)還是您只想更改路徑的名稱? – trh

回答

1

如果您不需要添加新路徑s到設計,並且您只是想更改路徑名,那麼這是一個更好的選擇:

devise_for :users, path: '', path_names: 
    {:sign_in => 'login', :sign_out => 'logout'} 

雖然 - 如果你改變控制器(使用代替色器件股票控制器你自己的),那麼這並未工作不好。

雖然Platformatec有一些非常棒的文檔,但您應該仔細閱讀並進行混合搭配以滿足您的需求。 https://github.com/plataformatec/devise/wiki/How-Tos

相關問題