Попытка перенаправить пользователей на связанную с ними «домашнюю страницу» после успешного входа в систему без выхода ..., которая дает мне несколько бесконечных циклов перенаправления (довольно уверен, что я настройте его неправильно).Devise gem in Rails: сгенерируйте user_root_path
Несмотря на это, я ищу лучший подход ...
Devise's docs состояние: После подписания в пользователе, подтверждающий счета или обновление пароля, Разрабатывают будут искать контекстный корень путь для перенаправления. Пример: для
:user
ресурс он будет использоватьuser_root_path
, если он существует, иначе по умолчаниюroot_path
будет б/у. Это означает, что вам необходимо установить в корне внутри ваших маршрутов:root :to => "home"
Я Сорт новичка ... как можно идти о создании этого home_root_path
для каждого пользователя?
- (Object) after_sign_in_path_for (resource_or_scope)
по умолчанию URL-использовать после подписания в этом используется всеми Разрабатывают контроллеров и вы можете перезаписать это в вашем ApplicationController до обеспечивает пользовательский крючок для настраиваемого ресурса . По умолчанию он сначала пытается найти resource_root_path, иначе использует корневой путь. Для охвата пользователей , вы можете определить URL по умолчанию следующим образом:
map.user_root '/users', :controller => 'users' # creates user_root_path map.namespace :user do |user| user.root :controller => 'users' # creates user_root_path end
, но это только дает мне undefined local variable or method
карту»для #ActionDispatch :: Routing :: Mapper: ...` ошибки.
Какую версию рельсов вы используете? Предыдущие биты after_sign_in_path_for используют синтаксис маршрутизации rails 2.x. Если вы используете рельсы 3.x, тогда они могут вызвать проблемы. – encoded