2012-04-28 83 views
0

我有兩個對象成分&的由來。
每種成分具有原點,從而在所述成分我已經origin_id
的視圖顯示紅寶石填充組合框

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

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

類成分聲明如下

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 

我編寫的編輯表格,它的工作原理

<% originsArray = Origin.all.map { |origin| [origin.name, origin.id] } %> 
    <div class="field"> 
    <%= f.label :origin_id %><br/> 
    <%= f.select(:origin_id, originsArray) %><br/> 
</div> 

,但如果我寫的,而不是(在所有的教程)

<%= collection_select(:origin, :id, @origins, :id, :name, options ={:prompt => "-Select a payment"}, :class =>"origin") %> 

我得到

undefined method `map' for nil:NilClass 

我應該怎麼解決?

編輯 補充說:

高清編輯 @ingredient = Ingredient.find(PARAMS [:編號]) @origins = Origin.all 結束

+0

「在我編寫的編輯表單中,它的工作原理」 - 如果沒有損壞,請不要修復它。 – 2012-04-28 17:20:46

+0

我知道。但以其他形式我想改變它。開始嘗試和改變那些有用的東西比做的更好。更容易調試。 – Jeb 2012-04-28 17:21:54

回答

1

我這裏看不到哪裏@origins被宣佈。看起來你的@origins只是零而不是收藏。

+0

靶心。請看看編輯 – Jeb 2012-04-28 17:31:25