2012-04-28 22 views
0

我有兩個對象成分&的由來。
每種成分具有原點,從而在所述成分我已經origin_id
的視圖顯示紅寶石在rails - 翻譯id到名字

<p> 
    <b>Name:</b> 
    <%= @ingredient.name %> 
</p> 

<p> 
    <b>Origin:</b> 
    <%= @ingredient.origin_id %> 
</p> 

我想要顯示的原點名稱而不是ID。
如何將名稱帶到顯示屏上?

編輯:類成分聲明如下

class Ingredient < ActiveRecord::Base 
    has_and_belongs_to_many :recipes 
    belongs_to :origin 

    attr_accessible :name, :origin_id 
end 

出身

class Origin < ActiveRecord::Base 
    attr_accessible :name 
end 

回答

4

你必須Ingredient類聲明:

belongs_to :origin 

之後,你可以使用

<%= @ingredient.origin.name %> 

Rail Relation Guide(在你的情況belongs_tohas_one協會)

+0

我得到的 - 對於零未定義的方法'名」:NilClass – Jeb 2012-04-28 16:31:28

+1

@perry這意味着'@ ingredient.origin'是'nil',肯定是因爲'@ ingredient.origin_id'是'nil',或者不匹配表'origins' – Baldrick 2012-04-28 16:38:10

+0

中的ID。我也在new.erb中。謝謝。 – Jeb 2012-04-28 16:56:11