2011-02-07 8 views
0
@userc= User.create(:uname => params[:veliuname], :upass => params[:veliupass], :utype => 4, :isenabled=>true, :name=>params[:veliname], :surname => params[:velisurname], :mobiletel=>params[:velimobtel], :email=>params[:veliemail], :org_id => session[:user].org_id) 

@pcurator = Pcurator.create(:user_id=>@userc.id , :address => params[:veliadrs], :city=>params[:velicity], :scity=>params[:veliscity], :othertel=>params[:velistatictel]) 

ここで私はユーザーを作成し、それらにプロファイルを割り当てようとしています。問題は、ユーザーを作成した後で、そのユーザーIDをpcuratorsのuser_id値に割り当てようとしていることです。しかし、それは動作していないし、pcuratorは常に私のデータベース内でuser_idとしてnullを持っています。1つのモデルから別のモデルに作成された値を割り当てる

どのように私はこれを達成することができますか?または、このようなことをするRails Wayが優れていますか?

+0

ところで、それはコントローラで起きています – gkaykck

答えて

1

@usercはまだActiveRecordレコードを指していません。保存されたレコードをロードするには、@userc.reload!を実行してみてください。とにかく複雑なフォームを使用することなく、これを簡単に達成できます。 Here,hereおよびhereは同じもののチュートリアルです。

+0

それは働かなかった:D – gkaykck

0

User.create(...)を実行したときにレコードが保存されないように、ユーザーモデルの検証がない限り、コードに問題はありません。それ以外の場合、User.create(..)はdb内にレコードを作成し、 'userc'はidを持つ必要があります。

+0

いいえ、ユーザーは自分自身をデータベースに保存していますが、そのIDはnullのままです – gkaykck

0

レールとルビーの別の魔法の瞬間、それは何の変更もなく作業を開始しました。私はこの開発環境から嫌いになり始めています

関連する問題