0

私はコメントコントローラーを持っています。ゲスト (認証されていないユーザー) が新しいコメントを投稿するためのフォームを表示し、投稿できるようにします。

ここで、ユーザーがフォームを送信したに認証したいと考えました。私はこれまでのところそれを持っています。

class CommentsController
  before_filter :authenticate_user!, only: [:create]

  def create
    @comment = Comment.new params[:comment]
    @comment.save!
    redirect_to @comment
  end
end

これで、ユーザーがコメントを送信すると、ログイン ページが表示され、認証できるようになりました。ただし、その後、ユーザーはアプリケーションのルートにリダイレクトされ、コメントは作成されずに失われます。

現在、authenticate_user!GET アクションの前に呼び出すと、ユーザーが認証された後、元の宛先にリダイレクトされるようです。これは、POST リクエストには当てはまらないようです。

createでは、ユーザーが認証された直後にアクションを処理するにはどうすればよいでしょうか?

4

1 に答える 1

0

ここでは、おそらくうまくいく可能性が 2 つ
あります。再度入力する必要はありません)。
2. コメントをセッションに保存し、認証が完了したら保存します。

Devise wiki には、彼女が利用できるこれら 2 つのオプションの前者に関する情報がいくつかあります。 、サインアウト、サインアップ、更新

于 2013-05-22T22:21:25.023 に答える