User
オブジェクトが作成されるたびにUserInfo
オブジェクトを作成してリンクします。Userオブジェクトが作成されるたびに、UserInfoオブジェクトも作成
残念ながら、これはどのUserInfo
作成しません:
class User < ActiveRecord::Base
has_one :user_info
...
def init
self.user_info = user_info
self.save!
end
はなぜinit
メソッドが呼び出されていませんか?私の目標に到達する方法?あなたのUserモデルで
を返すことができますので、私はafter_createを使用することをお勧めしたい 、before_createはエラーを返すことができます。あなたは尋ねなければならない。 UserInfoの作成が失敗した場合でも(after_createを使用して)Userを作成したいのですか、その場合にユーザー作成全体を失敗させたいのですか(before_createを使用しますか)。 – Chowlett
私は実際に別の方法でそのような仕事をしたいと思います。コントローラ**@user.valid? && @ user_info.valid? && @ user.save **。もう一つの方法は** acceptence_nested_attributes **を使うことです – Anatoly