0

我正在尝试将一个模型的属性显示到另一个模型的视图。

我的第一个模型(animal)有一个属性animal_num,我想animal num在另一个视图中将信息显示为 collection_select。选择将存储到属性num中。

这是我的 _form 的片段:

  <div>
   <%= f.label :num %><br />
   <%= f.collection_select :num, @animal.animal_num %>
  </div>

我已经确定我的动物模型belongs_to与我的其他模型有关系。 num并且animal_num都是字符串。我的页面上仍然出现错误:

undefined method `animal_num' for nil:NilClass

有任何想法吗?

4

2 回答 2

0

解决方案:

  <div>
   <%= f.label :num %><br />
   <%= f.select :num, Animal.all.collect {|c| [c.animal_num] } %>
  </div>
于 2013-07-09T21:26:03.893 回答
0

你必须链接这两个模型。例如,在动物中,你应该有这样的东西

class Animal < ActiveRecord::Base
  has_many :animal_nums
end

在另一个模型上,你应该有

class AnimalNum < ActiveRecord::Base
  belongs_to :animal
end

所以当你调用animal_nums时你不会有«未定义的方法»(使用复数)

于 2013-07-09T21:27:52.723 回答