Я работаю над приложением OTP signin rails. Я использовал активную модель otp gem для генерации otp. Этот камень создает столбец otp_secret_key для хранения otp.Приложение отправляет OTP по почте пользователю. Затем пользователь должен ввести адрес электронной почты и исправить otp для входа (сеанс должен быть создан). Я застрял на части создания сеанса. Код для сеанса следующий:
def create
user = User.find_by(email: params[:session][:email])
otp = params[:session][:otp_code]
if user.authenticate_otp(otp)
session[:user_id] = user.id
flash[:success] = 'Successfully logged in'
redirect_to welcome_home_path
else
flash.now[:danger] = 'Something wrong with your login information!'
end
end
Параметры, представленные в хэше params после отправки формы:
Parameters: {"utf8"=>"✓", "session"=>{"email"=>"test23@example.com", "otp_code"=>"8496"}, "commit"=>"Login"}
Но в браузере он застревает на той же странице, а в терминале он показывает No template found for SessionsController#create, rendering head :no_content
Но яхочу перенаправить его на начальный / домашний путь, если введенные значения верны.
Как это сделать?
PS: у меня есть таблица пользователей со столбцами user_id, user_email и otp_secret_key. Заранее спасибо