Разработать пригласить: пригласить существующего пользователя

Я использую devise invitable в своем приложении для приглашения пользователей. Если пользователь существует в базе данных, я должен перенаправить его на экран входа, в противном случае на экран регистрации, если он новый пользователь. Даже если я приглашаю пользователя, как: User.invite!(:email => "jonny@email.com", :name => "Jonny"), данные вводятся в базу данных, затем пользователь всегда перенаправляется на экран входа. Я написал следующее для проверки электронной почты в контроллере приглашений:

  def edit
    if User.exists?(:email => params[:email])
      redirect_to new_user_session_path
    else
      redirect_to new_user_registration_path
    end
  end

Может ли кто-нибудь помочь мне, как я могу справиться с этой ситуацией.

1 ответ

Решение

Для редактирования он должен найти пользователя по идентификатору, а не переходить к new_user_session_path. Метод edit должен содержать следующий фрагмент кода.

def edit
if User.exists?
@user = User.find(params[:id])
else
  redirect_to new_user_registration_path
end
end
Другие вопросы по тегам