このように定義されたUserクラスがあります
class User
end
そして、これをサブレーザー化して、Ownerクラスを作成し、別のCompanyクラスとhas_one関係を作成しました。
class Owner < User
has_one :company
end
class Company
belongs_to :owner
end
新しいユーザーを作成するときのユーザーコントローラーで、次のことを実行したいと思います。
- 新しいユーザーを作成する
- 新しい会社を作る
- ユーザーを会社に関連付けます(所有者、つまりcompany.owner_idとして)
私は次のコードでこれを達成することができます(簡潔にするために簡略化されています)
def create
@user = User.new(params[:user])
@company = Company.new(params[:company])
if @user.save
@company.owner_id = @user.id
@company.save
...
さて、これは私には醜い感じがしますが、build_asociationプロセス全体を期待どおりに機能させることができないようです(はい、フィールドはdevとtestの両方にあります)。
私はここで何をすべきですか?