я застрял с методом after_sign_in_path_for из завещанию, это вещь ... У меня есть две модели Пользователи и AdminUsers I «м с использованием active_admin каменьRails 4 Разрабатывают с after_sign_in_path_for (ресурс) всегда перенаправлять Показать действие модели
мой файл routes.rb, выглядит следующим образом:
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
scope "(:locale)", locale: /es|en/ do
devise_for :users, path_names: { sign_in: 'login', sign_out: 'logout',
password: 'password', confirmation: 'confirmation', unlock: 'unlock',
registration: 'registration', sign_up: 'sign_up' }
devise_scope :user do
get "login", to: "devise/sessions#new"
end
get 'dashboard/index'
end
OK ... в моем application_con troller.rb, я судимый эти коды:
def after_sign_in_path_for(resource)
case resource
when AdminUser
#admin_root_path
'/admin/dashboard'
puts'in admin_root_path'
when User
#dashboard_index_path
'/dashboard/index'
puts'in dashboard_index_path'
else super
end
puts 'resource Of AplicationController: ' + resource.class.to_s
end
def after_sign_out_path_for(resource_or_scope)
root_path
end
Как вы можете видеть, у меня есть некоторый ставит просто проверить в моей консоли, если мой случая работает ... и это делает, он на самом деле работает, это моя консоль: Я пытаюсь войти в систему как AdminUser, к admin_root_path из active_admin
Started POST "/admin/login?locale=es" for ::1 at 2015-04-14 12:46:51 -0400
Processing by ActiveAdmin::Devise::SessionsController#create as HTML
....
....
in admin_root_path
resource of AplicationController: AdminUser
Redirected to http://localhost:3000/admin/users/2?locale=es
Completed 302 Found in 113ms (ActiveRecord: 1.8ms)
Как вы можете видеть, Разрабатывают переадресовать меня на шоу странице у.е. rrent_admin_user.
А вот консоль, если я пытаюсь войти в систему как пользователь:
Started POST "/es/users/login" for ::1 at 2015-04-14 12:51:18 -0400
Processing by Devise::SessionsController#create as HTML
...
...
in dashboard_index_path
resource of AplicationController: User
Redirected to http://localhost:3000/es/users/2
Completed 302 Found in 106ms (ActiveRecord: 1.4ms)
В двух сценариях DEViSE делает то же самое ... перенаправляется на шоу действия каждой модели, я уже судимое поставить этот код в пользовательский registrations_controller.rb и тот же ... Может быть, мне не хватает чего-то очевидного, я не эксперт в Devise, есть ли у кого-нибудь представление о том, что я делаю неправильно?
Соответствующие результаты rake routes
команды
....
....
edit_admin_user_password GET /admin/password/edit(.:format) active_admin/devise/passwords#edit
admin_root GET /admin(.:format) admin/dashboard#index
....
....
admin_dashboard GET /admin/dashboard(.:format) admin/dashboard#index
....
....
dashboard_index GET (/:locale)/dashboard/index(.:format) dashboard#index {:locale=>/es|en/}
root GET / visitors#index
запустите «рейк-маршруты» в терминале и проверьте пути. также вставьте результат здесь. –
Done, пожалуйста, дайте мне знать, если вам нужно что-то еще, я просто опубликовать наиболее значимые маршруты ... – svonborries