我正在尝试将属性从一个模型显示到另一个模型的视图。
我的第一个模型(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
有什么想法吗?
答案 0 :(得分:0)
解决方案:
<div>
<%= f.label :num %><br />
<%= f.select :num, Animal.all.collect {|c| [c.animal_num] } %>
</div>
答案 1 :(得分:0)
你必须链接这两个模型。例如,在Animal中,你应该有这样的东西
class Animal < ActiveRecord::Base
has_many :animal_nums
end
在另一个模型上,您应该
class AnimalNum < ActiveRecord::Base
belongs_to :animal
end
因此,当您调用animal_nums(使用复数形式)时,您将不会有“未定义的方法”