1
我在我的項目中使用Devise,最初是在2013年使用API版本1(api/v1 /)啓動它。我不需要創建一個版本2(api/v2 /),並且我在解決如何爲設計創建新的v2路由時遇到問題。Rails同一設計模型的多個URI模式
/api/v1 /和/ api/v2 /都指向相同的用戶模型,但我讓他們通過不同的控制器。目前下面是我正在嘗試,但我收到消息「無效的路由名稱,已在使用:'new_user_session'」。
作用域路線/ API/V1/
scope '/api' do
scope '/v1' do
devise_for :users, :controllers => {:registrations => "devise/v1/users_registrations",
:sessions => "devise/v1/users_sessions",
:passwords => "devise/v1/users_passwords"}
end
end
作用域路線/ API/V2/
scope '/api' do
scope '/v2' do
devise_for :users, :controllers => {:registrations => "devise/v2/users_registrations",
:sessions => "devise/v2/users_sessions",
:passwords => "devise/v2users_passwords"}
end
任何和所有幫助將不勝感激。謝謝
謝謝你,這確實讓我過去無效的路由名稱的問題,但我再碰上另一個問題。在設計helpers.rb devise_parameter_sanitizer時,它似乎期望參數與關鍵'v1_user'一起出現,但關鍵仍然是「用戶」。 Devise :: ParameterSanitizer.new(resource_class,resource_name,params)這裏的resource_name是'v1_user',params包含key'user'所需的所有信息。任何想法發生了什麼?我可能需要爲這個問題開一個新的問題。 – KevinM
對這個打開一個新的問題,我會幫你挖掘它 – blnc
添加評論中的鏈接,我可以找到它。 – blnc