2016-09-06 49 views
1

所以我一直試圖設置我的色器件路線如下:設置與設計語言環境認證失敗後對重定向路由

scope '(:locale)' do 
    devise_for :users, skip: [:registrations] 
    resources :questions 
end 

然而,當我在我的控制器進行身份驗證,當你沒有登錄設計重定向到localhost:3000/users/sign_in

我希望發生的事情是它會將我重定向到localhost:3000/en/users/sign_in。我在做什麼錯,或者在這方面有什麼方法?

回答

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 

之後,重定向按預期工作。