2012-02-29 15 views
1

親が作成された後に関連付けられたDBをintiatlizeする方法を探しています。Rails3 - 関連付けられたテーブルにデフォルト値を追加するafter_create

私はちょうど提出usernameとシンプルUserモデルとフィールドplacenamesとの関連(has_many)子Placeモデルを持っています。

ユーザーが正常に作成された後、Placesの表には、europe、asia、afrikaのようなエントリを入れる必要があります。 私は行く方法は、after_createメソッドを使用することですが、私は親モデルから作成をトリガーする方法を見つけることができません。

答えて

3

あなたはハイテク、 アイデアは、定義済みの値のセットで、各ユーザの子テーブルを移入した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') 
+0

はい - それだけです。どうもありがとう! – JOxBERGER

+0

@JochenLeinberger良い解決策がOKならば、答えを受け入れるべきです。ありがとうございました。 – Baldrick

+0

@Baldrick ...申し訳ありません、ただそれをaccepeted!再度、感謝します! – JOxBERGER

0

ええと、正確に何をしようとしているのかわかりません。

ユーザーを#createフォームから関連付ける場所がありますか(たとえば、ユーザーはチェックボックスを使用して事前定義された場所にチェックを入れることができます)。 また、ユーザーはコンマ区切りのリストを使用して場所を提供できますか?ユーザー作成アクションは重複して除外され、その場でデータベースに新しいものを追加する必要がありますか?

+0

のようなユーザを作成することができます新しいユーザーが作成されたときはいつでも ありがとう! – JOxBERGER

関連する問題