rails有一个关联问题

时间:2012-11-27 21:38:43

标签: ruby-on-rails ruby associations has-one

我有模型制作人,公司和用户

我希望制作人和公司都有用户。属于公司的用户仅属于该公司。属于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

2 个答案:

答案 0 :(得分:1)

我认为你有has_one和belongs_to混淆了。

看看是属于还是有_A关联 here

包含您的列:

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

答案 1 :(得分:-1)

您是否在用户模型中建立了关联?

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