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に関係なくレンダリングされることがわかりました。何か案が?returnrespond_to