У меня есть приложение rails, использующее гем devise для аутентификации пользователя.
Я использовал подтверждающее, чтобы отправить подтверждение по электронной почте пользователю. Работает хорошо. Я получил подтверждение по электронной почте. И мне нужно подтвердить свой аккаунт, прежде чем войти в систему.
Я бы хотел, чтобы они попробовали наше приложение некоторое время, прежде чем подтвердить свой аккаунт. Так что я устанавливаю verify_within в инициализаторе устройства. Это не удалось. После того, как пользователь заполнил регистрационную форму, он будет перенаправлен обратно на страницу входа после регистрации. Я проверил журнал, кажется, что пользователь не вошел в систему. Поэтому он не прошел проверку подлинности! до фильтра.
Вот моя конфигурация.
Модель: user.rb
devise :database_authenticatable, :registerable, :encryptable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable
route.rb
devise_for :users, :controllers => {:password => "passwords"}
Инициализатор: devise.rb
config.confirm_within = 2.days
application_controller.rb
def after_sign_in_path_for(resource)
stored_location_for(resource) || jobs_path
end
jobs_controller.rb
class JobsController < ApplicationController
before_filter :authenticate_user!
***some functions
end
Я не уверен, что что-то пропустил. Кто-нибудь любезно подскажет, как решить эту проблему? Спасибо.