0

最近のプロジェクトには次のモデルがあります。

class User < ActiveRecord::Base
  # setup association
  has_one :user_detail
  has_one :employee
  has_one :company, :through => :employee
end

class Employee < ActiveRecord::Base
  belongs_to :user
  belongs_to :company
end

class Company < ActiveRecord::Base
  has_many :employees
  has_many :users, :through => :employees
end

ユーザー サインアップ用のネストされたフォームを作成するには、User#new アクションで会社を作成する必要がありますが、次のコードを試してみましたが、機能しませんでした。

def new
  @user = User.new()
  @company = @user.build_company()
end

このエラーは、@user の build_company メソッドがないことを示しています。

だから私は別のアプローチを試しました:

def new
  @user = User.new()
  @company = @user.company.build()
end

まだ動作していません。エラーはbuild()nil クラスのメソッドではありません。

Rails は、この種の 1 対多のジョイント テーブル アプローチをサポートしていませんか?

4

1 に答える 1