[英]Rails Multiple URI Pattern for the same Devise Model
我在项目中使用的是Devise,最初是从2013年使用API版本1(api / v1 /)启动它。 我不必创建版本2(api / v2 /),并且在解决如何创建新的v2路由以进行设计时遇到了问题。
/ 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
任何和所有帮助将不胜感激。 谢谢
您需要在旁边或范围内使用namespace
。
现在,这些作用域将更改文件本身的位置,但不会更新实际的路径名称,因此会出现重复的错误。
IE
scope :api do
namespace :v1 do
devise_for :users, controllers: {registrations: "devise/v1/users_registrations",
sessions: "devise/v1/users_sessions",
passwords: "devise/v1/users_passwords"}
end
end
scope :api do
namespace :v2 do
devise_for :users, controllers: {registrations: "devise/v2/users_registrations",
sessions: "devise/v2/users_sessions",
passwords: "devise/v2/users_passwords"}
end
end
那么您的路线将是new_v1_user_session
和new_v2_user_session
,等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.