質問

親が作成された後に関連するDBをintiatlize追加する方法を探しています。

私は単純なものを持っています User ちょうど提出されたモデル username と関連する(has_many)子供 Place フィールドを持つモデル placenames.

ユーザーが正常に作成された後、次のテーブルが作成されます。 Places エントリのように記入する必要があります:ヨーロッパ、アジア、アフリカーンス語。私は行く方法は、使用することだと思います after_create メソッドですが、親モデルから作成をトリガーする方法が見つかりません。

役に立ちましたか?

解決

あなたは宣言することができます after_create このように

class User 

  after_create :initialize_places

  def initialize_places
    self.places.create(:placename => 'Europe')
    self.places.create(:placename => 'Asia')
    self.places.create(:placename => 'Africa')
  end
end

そして、このようなユーザーを作成します

user = User.create(:username => 'The Black Adder')

他のヒント

うーん、あなたが何をしようとしているのか正確にはわかりません。

#Createフォームからユーザーを関連付ける場所を取得していますか(例:ユーザーはチェックボックスで事前定義された場所をオフにチェックすることができます)?または、ユーザーがコンマ区切りリストを介して場所を提供でき、ユーザー作成アクションは重複を取り除き、その場で新しいものをdbに追加する必要があ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top