我有一个通过Devise的用户表。这个表的分支是3个其他模型(author.rb,seller.rb和buyer.rb),每个模型与主用户表都有一对一的关系。
原因是每个都有一些独特的属性,我想保持主用户表整洁。我正在使用主动管理员,并希望在注册新用户时避免使用冗余字段。
目前我使用枚举来分配用户角色:
enum role: [:author, :sellers, :buyers]
问题在于,当我设置一个角色时,它可以限制用户根据该角色看到的内容,但是我在下面有一个大问题。
问题:
我希望能够注册一位作者。到目前为止一切都很好。但我也希望能够注册买方,然后将该买方与作者联系为两个不同的用户。目前,用户通过活动管理员中的嵌套表单同时成为两者,我使用的不是我想要的。我希望用户成为买家,而另一个用户成为作者。
也许我没有正确设置我的关系?或者它可能是主动管理员的问题?
class Author < ActiveRecord::Base
belongs_to :user
end
class Buyer < ActiveRecord::Base
belongs_to :user
end
class User < ActiveRecord::Base
has_one :author
has_one :buyer
end
基本上我希望能够注册两个不同的用户,之后关联他们,我不知道如何做到这一点。任何建议都非常感激。