非常に明示的な言語である Java から、非常に簡潔な構文を使用する RoR に移行することは、ほとんどの場合簡単ですが、舞台裏で行われているいくつかのことを理解するのに苦労しています。
以下のコードで、Rails はどのようにproduct_id:に値を割り当てますか? 代わりに product.id を使用できませんでしたか? このコンテキストでproduct_id:は正確には何を意味しますか? その価値はどこから来るのですか?
ビューで:
<% @products.each do |product| %>
<div class="entry">
<%= image_tag(product.image_url) %>
<h3><%= product.title %></h3>
<%= sanitize(product.description) %>
<div class="price_line">
<span class="price"><%= number_to_currency(product.price, unit: '$') %></span>
<%= button_to 'Add to Cart', line_items_path(product_id: product) %>
</div>
</div>
<% end %>
line_items モデルで指定した attr_accessible ステートメントが原因ですか?:
class LineItem < ActiveRecord::Base
attr_accessible :cart_id, :product_id
belongs_to :product
belongs_to :cart
end