0

私はモデルProductor、Company、およびUserを持っています

プロデューサーと会社の両方にユーザーが必要です。会社に所属するユーザーは、この会社にのみ属します。Productor に属するユーザーは、この productor にのみ属します。

だから私はこのようになりたいテーブル

productor           company                user
---------           --------               ------
id                  id                     id
name                name                   email
user_id             user_id                password

has_one 関連付けでこれを実行しようとしましたが、このエラーが発生しました

no such column: users.produtor_id: SELECT  "users".* FROM "users"  WHERE "users"."produtor_id" = 1 LIMIT 1

そして私のモデルは次のとおりです

class Produtor < ActiveRecord::Base

  attr_accessible :borndate, :cpf_cnpj, :is_company, :name, :rg
  has_one :user
  ...


class User < ActiveRecord::Base
  attr_accessible :email, :password
  ...
end
4

2 に答える 2

1

has_oneとbelongs_toが混同されていると思います。

ここに属しているのか、has_oneアソシエーションに属しているのかを 見てください

あなたが持っている列で:

class Productor < ActiveRecord::Base
  belongs_to :user, :inverse_of => :productor
end

class Company < ActiveRecord::Base
  belongs_to :user, :inverse_of => :company
end

class User < ActiveRecord::Base
  has_one :productor, :inverse_of => :user
  has_one :company, :inverse_of => :user
end
于 2012-11-27T21:44:10.307 に答える
-1

ユーザーモデルでの関連付けはもう完了しましたか?

class User < ActiveRecord::Base
  attr_accessible :email, :password
  belongs_to :productor
  ...
 end
于 2012-11-27T21:44:01.820 に答える