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