1

ユーザーを招待するために、アプリケーションで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

この状況に対処する方法を教えてください。

4

1 に答える 1

1

編集の場合、new_user_session_path に進むのではなく、ID でユーザーを検索する必要があります。edit メソッドには、次のコードを含める必要があります。

def edit
if User.exists?
@user = User.find(params[:id])
else
  redirect_to new_user_registration_path
end
end
于 2013-08-15T10:00:11.020 に答える