2013-07-09 85 views
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關係。 numanimal_num也都是字符串。仍然我的頁面上出現錯誤:

undefined method `animal_num' for nil:NilClass 

任何想法?

+0

如果您使用的是特定操作,您必須聲明「@動物」 –

+1

該片段來自哪個文件?也發佈你的控制器的代碼。大多數錯誤是因爲動作沒有初始化@animal – usha

+0

它來自我的_form。哪個控制器?動物或我的其他模型的控制器?謝謝。 – DashControl

回答

0

解決方案:

<div> 
    <%= f.label :num %><br /> 
    <%= f.select :num, Animal.all.collect {|c| [c.animal_num] } %> 
    </div> 
0

你有兩個模型聯繫起來。例如,在動物,你應該有這樣的事情

class Animal < ActiveRecord::Base 
    has_many :animal_nums 
end 

和其他模型,你應該有

class AnimalNum < ActiveRecord::Base 
    belongs_to :animal 
end 

,所以你不會有«未定義的方法»當你調用animal_nums(使用複數)

相關問題