私は現在、クライアント側に Ajax/REST を多用する Rails 3 上に構築された Web アプリケーションに取り組んでいます。したがって、私はしばしば次のようなコントローラー アクションを記述しています。
def create
if !params[:name]
respond_to do |format|
format.html { render json: {}, status: :not_found }
format.json { render json: {}, status: :not_found }
end
return
end
account = ...
respond_to do |format|
format.html { render json: account }
format.json { render json: account }
end
end
私のアクションのほとんどすべてが、成功の場合またはエラー コードで json オブジェクトを返しています。ただし、アクションを早く返したい場合は、常にこの冗長な Respond_to ブロックとリターンを記述する必要があります。
代わりに、代わりにこのようなもの、または同様の代替手段を使用したいと思います:
def create
if !params[:name]
throw :not_found
end
account = ...
return account
end
Rails 3+ でこれを行うにはどうすればよいですか?