0

社区,我需要你的帮助。这是一个非常简单的问题,但我不知道出了什么问题。

我有两个模型,一个产品模型和一个条件模型。一个产品只能有一个条件,所以我在两者之间设置了一对多的关联。Condition 包含固定记录(例如好、坏、损坏)

产品.rb

attr_accessible :condition_id
has_one :condition

条件.rb

belongs_to :product

我的产品表中有一个外键 condition_id。在我的产品表单中,我遍历条件并设置 ID:

_form.html.erb(产品)

<%= f.select :condition_id, Condition.all.collect {|x| [x.name, x.id]}, {} %>

当我提交表单时,我可以看到在控制台中设置了 id。但我无法检索给定条件的值。在我的产品展示页面中,我尝试

<%= @product.condition.name %>

但它给了我一个“nil:NilClass 的未定义方法‘名称’”错误。在控制台中尝试时也会发生这种情况。

我在这里想念什么?

谢谢你们!

4

1 回答 1

0

对不起,回答我自己的问题。看来我混合了协会。

所以 Product belongs_to :condition 和 Condition has_many :products 工作正常。

但是,对我来说 Product has_one :condition 和 Condition belongs_to :product 听起来更加冗长。

于 2012-09-12T08:16:18.157 回答