6
私はAPIキーの有効性をチェックするbefore_filterを持っています。キーが無効な場合は、ヘッダーのみの403応答を表示したいと思います。私のコントローラでRails3 - レンダリングする方法403 with before_filter DoubleRenderエラーなし
:
before_filter :validate_api
...
def validate_api
if params[:api_key].present? and ApiKey.find(params[:api_key])
return true
else
render head :forbidden
end
end
問題は、私はRailsがアクションに入り、とにかくレスポンスをレンダリングしようとし、おそらくとき、DoubleRenderエラーを取得していることです。 before_filterがレンダリングまたはリダイレクトされた場合、Railsがアクションの実行を妨げることは私の理解であった。そうじゃないの?
before_filterでヘッダーのみの応答をレンダリングし、アクションが実行されないようにするにはどうすればよいですか?
はい、同じ結果です。 DoubleRenderエラー。 –
ああ、待っています。何が起こっているのか見てみましょう。 'head:forbidden'を呼び出すだけでよいので、' render'部分を前に置いてください。 – Kris