2014-06-07 43 views
0

我有兩個型號:如何將collection_check_boxes與一對多關聯使用?

create_table "owners", force: true do |t| 
    t.string "name" 
    t.string "image" 
    t.text  "description" 
end 

create_table "dogs", force: true do |t| 
    t.string "name" 
    t.string "age" 
end 

現在,當我想創建所有者我有@owner一種形式,目前已經有@dogs在數據庫中,因此,他們需要的時候老闆是要顯示在表格並提交在一起創建。我試過,但它不工作:

<%= f.collection_check_boxes :owner, :dog_ids, Dog.all, :id, :name %> 

我收到此錯誤:

undefined method `merge' for :name:Symbol 

我怎樣才能在一個形式顯示這些狗的形式發送給他們?謝謝!

+2

嘗試:'<%= f.collection_check_boxes:dog_ids,Dog.all,:ID,: name%>' –

+0

@WaliAli,現在它說沒有這樣的方法:dog_ids – Cristiano

+0

嘗試在狗模型中定義一個方法來檢索名稱並使用它來代替:name * def get_name/self.name/end *, – Alexis

回答

0

此外,如果你使用的是軌道4,你需要允許在主人的狗控制器屬性爲:

def owner_params 
    params.require(:owner).permit(dog_ids:[]) 
end 
+0

謝謝,但上述解決方案對我無效。我可能做錯了什麼? – Cristiano

相關問題