2012-02-20 160 views
0

我有問題如何創建將子女分配給父母之一的表單。我的孩子節點是在系統中定義的,我去了孩子(別名),並希望將其分配給父母聯繫人之一)(或創建新的)。我如何創建這樣的表單?將子女分配給父母之一的父母之一

class Alias < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :contact  
end 


class Contact < ActiveRecord::Base 
    has_many :aliases 
    belongs_to :user 
end 

所以我有別名和夫婦聯繫的幾個對象,但我不想去聯繫,有分配別名,但去別名,並從(例如)選擇框聯繫的一個拾音器。

回答

0

有很多方法可以選擇關聯ID。選擇框可能是頁面上空間效率最高的選項,但如果沒有可能的關聯,則有時單選按鈕可以很好地工作。

我覺得這樣的東西可能適合你。這假定你在你的控制器內部分配@contactsContact.all

= form_for @alias do |f| 
    = f.label :contact_id, "Contact" 
    = f.collection_select :contact_id, @contacts, :id, :full_names 

這裏假定您的聯繫人中有一個名爲「full_names」的字段。把任何你想要顯示的字段放在選擇框中。

Alias創建Contact比較棘手,我個人不推薦它。以下是解釋如何做到這一點,雖然幾個問題:

Does accepts_nested_attributes_for work with belongs_to?

Getting fields_for and accepts_nested_attributes_for to work with a belongs_to relationship

我希望幫助。