Я работаю с Ruby on Rails 2.3.8 и хочу, чтобы пользователи входили в систему, прежде чем получить доступ к любому контенту с сайта.
Я написал следующее в application_controller
before_filter :login_required
Когда приложение запускается, я получаю сообщение об ошибке в браузере (даже из самого приложения) о том, что оно не перенаправило страницу. И я вижу в URL, который говорит http://localhost:3000/session/new
, но это не будет работать.
Затем я попытался поместить этот фильтр в другой контроллер, например, в dashboard_controller
, который является домашней страницей, и он работал нормально (но он работает только для этого контроллера, и я хочу, чтобы он фильтровал во всем приложении).
Затем я начал думать, и я на самом деле думаю, что фильтр выполняется перед созданием записи для одной из этих двух строк в файле маршрутов:
map.login '/login', :controller => 'sessions', :action => 'new'
map.signup '/signup', :controller => 'users', :action => 'new'
Любая помощь будет оценена.