そうhttp://localhost:3000/reviews/new/5
です、ID 5の商品の商品レビューを設定するようにアプリに指示します。ただし、偽の情報を含むフォームを送信すると、「作成」アクションでこのコードがトリガーされます。
@style = Style.find(params[:review][:style_id])
render 'new'
ページがリロードされると、問題のない新しいURLhttp://localhost:3000/reviews
が取得されますが、偽の情報をもう一度送信すると、次のページでロード@styleが割り当てられません。
これは、「新しい」アクションのコードです。
@style = Style.find(params[:id])
@review = current_user.reviews.build(style_id: params[:id])
これは簡単だと思います。夕食のために休憩。
ビューにifステートメントを追加して修正しました...変更しました:
<%= f.hidden_field :style_id, :value => params[:id] %>
に:
<% if params[:id] == nil %>
<%= f.hidden_field :style_id, :value => params[:review][:style_id] %>
<% else %>
<%= f.hidden_field :style_id, :value => params[:id] %>
<% end %>