私はコメントコントローラーを持っています。ゲスト (認証されていないユーザー) が新しいコメントを投稿するためのフォームを表示し、投稿できるようにします。
ここで、ユーザーがフォームを送信した後に認証したいと考えました。私はこれまでのところそれを持っています。
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
では、ユーザーが認証された直後にアクションを処理するにはどうすればよいでしょうか?