cart_controller 内にいくつかのアクションがあります。/carts: 内に 2 つのビューがpayment.html.erb
あり、pay.html.erb
def pay
success = #do something that returns true or false
if success
respond_to do |format|
format.html { redirect_to '/cart/checkout/review'}
end
else
render_errors
end
end
def render_errors
respond_to do |format|
format.html { render 'payment'}
end
end
私が期待しているのは
success == false
render_errors にヒットし、レンダリングしてpayment view
から停止します。ただし、それが行っていることは次のとおりですpayment view
。AND THEN もレンダリングpay view
します。したがって、payment view
は表示されません。何が間違っていますか?Rails 4.0 で Ruby 2.0 を使用しています。
更新:私が行うたびに@cart.errors.add(:name, 'error message')
、orステートメントpay view
に関係なくレンダリングされることがわかりました。何か案が?return
respond_to