よくあることですが、私のアプリには before_filter によって不正アクセスから保護されたコントローラー アクションがあります。唯一のことは、別の条件が true の場合にこのアクションをリダイレクトする必要があることです。
class Payment < ApplicationController
before_filter login_required
def new
redirect_to some_other_path if @order.is_free?
@payment = Payment.new
end
end
私のテストでは、アクションが正しく保護されていることを確認していますが、@order.is_free ステートメントが true である場合も同様です。この場合、次のエラーが発生します。
`render_with_no_layout': Can only render or redirect once per action
まだリダイレクトしていないことを確認したり、既存のリダイレクトを上書きしたりしないようにする方法はありますか?