所以我一直在努力设置我的路线设计如下:
scope '(:locale)' do
devise_for :users, skip: [:registrations]
resources :questions
end
但是,当我在控制器中进行身份验证时,如果您没有登录设计,则会将您重定向到localhost:3000/users/sign_in
。
我期望发生的事情是将我重定向到localhost:3000/en/users/sign_in
。我做错了什么或者有什么方法?
答案 0 :(得分:0)
所以事实证明你不能在你的范围内设置路由,而是需要手动设置它们。至少这对我有用。
devise_for :users, skip: [:sessions]
as :user do
get ':locale/login' => 'devise/sessions#new', :as => :new_user_session
post ':locale/login' => 'devise/sessions#create', :as => :user_session
delete ':locale/logout' => 'devise/sessions#destroy', :as => :destroy_user_session
end
# your normal scope without devise_for in it
scope '(:locale)' do
resources :questions
end
此后重定向按预期工作。