Я пытаюсь добавить действительно простую стратегию, и она, похоже, не работает. Вот код, который я пытаюсь использовать
#config/initializers/devise.rb
Devise.setup do |config|
config.orm = :mongo_mapper
config.warden do |manager|
manager.strategies.add(:auto_login_strategy) do
def valid?
params[:auto_login]
end
def authenticate!
u = User.find(:first)
u.nil? ? fail!("No created users") : success!(u)
end
end
manager.default_strategies(:scope=>:user).unshift :auto_login_strategy
end
end
Код должен проверять параметры для параметра 'auto_login', и, если он присутствует, найти первого пользователя, которого он может, и войти в него. Я полностью пропустил меры безопасности, чтобы заставить работать простой базовый тест. Когда я пытаюсь войти в контроллер с before_filter authenticate_user!
(то есть localhost:3000/test?auto_login=true
), он не может войти в систему и перенаправляет меня на страницу входа. Что я делаю не так?