【发布时间】:2009-12-02 17:43:17
【问题描述】:
我在 Rails 中创建应用程序时遇到问题。
此应用程序有两种模型,一种代表公司,另一种代表产品。每家公司都销售零个或多个产品,我希望在模型中捕捉到这种关系。到目前为止,这是我所得到的:
我通过运行生成器创建了模型:
script/generate scaffold company name:string product_id:integer
script/generate scaffold product name:string
我在公司模型中添加了以下行,以表明每个公司可以拥有多个产品:
has_many :products
我在产品模型中添加了以下行:
belongs_to :company
我在 YAML 文件中创建了一些示例数据。这些公司的样本数据是:
microsoft:
name: Microsoft
product_id: [1, 3]
google:
name: Google
product_id: [2, 4]
产品的样本数据是:
word:
id: 1
name: Word
earth
id: 2
name: Earth
excel:
id: 3
name: Excel
chrome:
id: 4
name: Chrome
然后我加载了示例数据:
rake db:fixtures:load
然后我尝试在公司视图中打印公司的所有产品:
<% if @company.product_id %>
<% for product in @company.product_id %>
<tr>
<td><%=h product.name %></td>
</tr>
<% end %>
<% end %>
这是我得到错误的地方。有任何想法吗?我不确定问题是什么。据我所知,这可能与我如何生成模型或建立它们的关系有关。或者可能是我尝试在视图中打印信息的方式。
【问题讨论】:
标签: ruby-on-rails ruby model-view-controller