Rails:has_one关联错误?

时间:2012-09-11 13:43:47

标签: activerecord associations ruby-on-rails-3.2

社区,我需要你的帮助。这是一个非常简单的问题,但我无法弄清楚是什么问题。

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

Product.rb

attr_accessible :condition_id
has_one :condition

Condition.rb

belongs_to :product

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

_form.html.erb (产品)

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

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

<%= @product.condition.name %>

但它给了我一个&#34;未定义的方法`name&#39;为零:NilClass&#34;错误。在控制台中尝试时也会发生这种情况。

我在这里缺少什么?

谢谢大家!

1 个答案:

答案 0 :(得分:0)

抱歉,回答我自己的问题。 似乎我把这种关联混合在一起。

所以产品belongs_to:condition和条件has_many:产品工作正常。

但是,对我来说产品has_one:condition和Condition belongs_to:产品听起来更冗长。