从高度明确的语言 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