Я знаю, что этот вопрос задан несколько раз, но почему-то это не работает для меня. Я хотел бы, чтобы пользователь был перенаправлен на определенную страницу после входа в систему (с помощью программы Devise). Я использую Rails 3.2 и Ruby 4.Перенаправление после входа с помощью Devise
Как только пользователь перенаправляется на: - После входа в систему они перенаправляются в корень, если пользователь добрался до страницы входа с одной из страниц, контролируемых контроллер, частью которого является корневой путь. Эти страницы не требуют авторизации. - После входа в систему они перенаправляются на запрашиваемую страницу, если пользователь автоматически попал на страницу входа в систему, нажав на страницу, требующую авторизации.
Чтобы перенаправить пользователя после входа на определенную страницу, я понимаю, что вам нужно добавить в контроллер несколько строк. Контроллеру, который контролирует страницы, требующие авторизации, я добавил:
class AccountsController < ApplicationController
before_filter :authenticate_user!
def user1_home
end
def user2_home
end
def user3_home
end
protected
def after_sign_in_path_for(resource)
'accounts/user1_home'
end
end
Однако это ничего не меняет. Я также пробовал это с def after_sign_in_path_for(resource) 'accounts#user1_home_path' end
Должен ли я, возможно, изменить что-то в маршрутах.rb? Мои маршруты:
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
user_confirmation POST /users/confirmation(.:format) devise/confirmations#create
new_user_confirmation GET /users/confirmation/new(.:format) devise/confirmations#new
GET /users/confirmation(.:format) devise/confirmations#show
toc GET /toc(.:format) pages#toc
stakeholder GET /stakeholder(.:format) pages#stakeholder
about GET /about(.:format) pages#about
doelgroep_onderneming GET /doelgroep_onderneming(.:format) pages#doelgroep_onderneming
doelgroep_ngo GET /doelgroep_ngo(.:format) pages#doelgroep_ngo
doelgroep_se GET /doelgroep_se(.:format) pages#doelgroep_se
partnership GET /partnership(.:format) pages#partnership
contact GET /contact(.:format) pages#contact
account_stakeholder GET /account/stakeholder(.:format) accounts#stakeholder_home
account_business GET /account/business(.:format) accounts#business_home
account_admin GET /account/admin(.:format) accounts#admin_home
root / pages#index
Вы сами создали учетную записьController? –
Да, я создал accountController с «rails generate controller Accounts», а затем сам отредактировал его. – Nick