アプリでレビューを作成しようとしていますが、コントローラーで次のことを行っている場合:
def create
@product = Product.find(params[:product_id])
@review = @product.reviews.create(params[:review])
redirect_to product_path(product)
end
取得しCouldn't find Product without an ID
ます。フォームに記入しますが、次の行@product = Product.find(params[:product_id])
を実行すると、製品が見つからないように見える場合があります。
ルート
resources :products do
resource :reviews
end
products / show.html.erb
<%= form_for(@product.reviews.build) do |f| %>
<div class="field">
<%= f.label :title %>
<br/>
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :author %>
<br/>
<%= f.text_field :author %>
</div>
<div class="field">
<%= f.label :content %>
<br/>
<%= f.text_area :content %>
</div>
<div class="field">
<%= f.label :rating %>
<br/>
<%= f.number_field :rating %>
</div
<div class="actions">
<%= f.submit %>
</div>
<% end %>