2012-02-20 3 views
0

子供を両親に割り当てるためのフォームの作成方法に問題があります。私の子ノードはシステムで定義されています。私は子(エイリアス)に行き、親の連絡先の1つにそれを割り当てたい(または新しいものを作成する)。どのように私はそのようなフォームを作成するのですか?子どもを両親のうちの1人の子供に割り当てる

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


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

は、だから私は、エイリアスと連絡先のカップルのカップルのオブジェクトがありますが、私が連絡し、そこにエイリアスを割り当てますが、エイリアスに行くに行きたくない、と(例)選択ボックスから連絡先のピックアップ1 。

答えて

0

アソシエーションIDを選択するには多くの方法があります。選択ボックスはおそらくページ上で最も効率的なスペースですが、可能性のある関連が少ない場合はラジオボタンがうまく機能することがあります。

私はこれがあなたに合っていると思います。これは、@contactsにコントローラー内のContact.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

私はそれが役に立てば幸い。