2014-05-15 152 views
-1

值我有一個鍛鍊模式:嵌套形式與模型

class Workout < ActiveRecord::Base 
    attr_accessible :time 
    belongs_to :user 

    has_and_belongs_to_many :trainers 
    accepts_nested_attributes_for :trainers 
end 

而且一個教練模式:

class Trainer < ActiveRecord::Base 
    attr_accessible :name 

    validates_uniqueness_of :name 

    has_and_belongs_to_many :workouts 

end 

我需要有一個巢教練的形式,它允許拉從數據庫值。 現在我有這樣的一個新的鍛鍊形式內:

<%= f.fields_for :trainers do |builder| %> 
    <%= builder.select :trainer, options_for_select(Trainer.all.collect{ |u| [u.name,  u.id] }) %> 
    <br> 
<% end %> 

我得到「未定義的方法'教練」爲#」

我在做什麼錯?

+0

您需要,否則實例化一個教練這是一個空的關係,所以在你的控制器:@ workout.trainers.build。另外,options_from_collection_for_select(Trainer.all,:id,:name) –

+0

我已經在我的控制器中創建了代碼。 – DarkSun

+0

options_from_collection_for_select沒有幫助。 – DarkSun

回答

0

我忘了attr_accessible補充:trainers_attributes鍛鍊控制器