現在、私のアプリケーションは HTML リクエストのみを処理しており、一部のアクションを拡張して JSON リクエストも処理したいと考えています。コントローラー アクションの多くはリダイレクトを実行し、リクエストが成功したかどうかに応じてセッション値 (フラッシュ) を設定します。
次のようなアクションのリクエスト形式に基づいてアクションの動作を変更するために、responds_to を組み込むにはどうすればよいですか。
def create
@user = User.new(params[:user])
if @user.save
flash[:notice] = {:success => "User Created."}
session[:user_id] = @user.id
session[:username] = @user.username
redirect_to(:controller => 'lists', :action => 'index')
else
flash[:notice] = {:error => @user.errors}
render('new')
end
end
ご覧のとおり、モデルが永続化されているかどうかを確認してから、フォームを再度リダイレクトまたはレンダリングしています。この現在の動作を維持しながら、JSON でリクエストを処理するにはどうすればよいですか? JSON リクエストは、リダイレクトなどを実行する必要はありません。
ありがとう!