私の仕事は、コントローラCheckout
内のplace_order
アクションにフォームを送信することです。
これは、私はそれは、このメソッドの内部と私は同じクラスの他のいくつかの方法にredirect
に私はしたいオブジェクトを保存するように達しない同じクラスの他のアクションにリダイレクトされたときに表示されるレールのリダイレクト
<%= form_for (@order), url: {action: "place_order"} do |f| %>
すなわち私のビューファイルでフォームを書いた方法です。このメソッド名はthank_you
です。私のコードは、この内部place_order
方法
if @order.save
redirect_to :action => 'thank_you'
else
...
end
のように見えるが、それはこのクラスのメソッドを表示するようにリダイレクトします。他のクラスにリダイレクトすると、リダイレクトされますが、同じcontroller
の他のアクションでは、常にshow
にリダイレクトされます。ここで
は、私は私のルート
resources :checkout
resources :photos
devise_for :users
resources :carts
post 'checkout/place_order'
match 'checkout/thank_you', to: 'checkout#thank_you', via: [:get]
私はこの上でいくつかの専門家の意見を必要とする定義された方法です。助けてください。
本当ですか?一度確認してください。 'save'が' true'を返した場合、 'thank_you'アクションにリダイレクトする必要があるため、疑いがあります。 – illusionist
はい私はかなり確信しています。私はここに質問を投稿する前にそれを何度もチェックしていたので、以下の答えがそれを解決しました。私の質問を見てくれてありがとう。 –