针对不同用户的RoR建模,Devise,Active Admin

时间:2016-05-01 17:33:24

标签: ruby-on-rails ruby devise activeadmin

我有一个通过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

基本上我希望能够注册两个不同的用户,之后关联他们,我不知道如何做到这一点。任何建议都非常感激。

0 个答案:

没有答案