0

作成時にデータベースに行を作成する正しいレール方法は何でしょうか?例えば作成時にデータベースに行を作成するためのActiveRecordフック

あなたが新しいユーザー

User.rb model 
user_id 
user_id =1 

例えば

Account.rb model 
Should create a new row in account table with user_id = same as user_id above 
を他のモデルのためのデータベースに新しいオブジェクト/行を作成する方法のための今すぐイムの外観を作成Userモデルを持っています

現在、私は私のユーザーの中に

= f.fields_for :profile do |f| 
    = f.text_field :some_value_for_profile 

を使用するいくつかの値が書き込まれるようにビューを作成ユーザの作成時にデータベースが作成されますが、これは「レールの方法」ではなく、代わりにActiveRecordフックを使用したいと考えています。

+0

いつものユーザーとプロフィールの関連はありますか? accepts_nested_attributes_forを使用していますか? –

答えて

1

ビューから勘定科目モデルのデータを収集する場合は、ユーザーレコードを含む勘定科目レコードを作成する必要があります。あなたは、ユーザの時にアカウントデータを収集せずに、すべての新規ユーザーのデフォルト・アカウント・レコードを作成しようとしている場合、それ以外の場合は、両方の間に1つの関係(ユーザーhas_oneのアカウント)

#in controller 
@user = User.new params[:users] 
@account = @user.build_account params[:account] 
@user.save 

を持っているがあると仮定すると、

あなたはafter_createコールバックを持つことができます

#in user.rb 
after_create :add_account 

def add_account 
    self.create_account 
end 
+0

まさに私が何を求めていたか – Rubytastic

関連する問題