账户推荐的模型设计

red*_*ft5 1 activerecord ruby-on-rails

我正在创建一个系统,用户可以引用其他用户,然后获得好处.我目前有一个通过Devise创建的用户模型进行身份验证.

只是想知道创建推荐模型的最佳方法是什么?

到目前为止,我有这样的东西作为我的表:

id user_id referrer_id

但是,默认情况下,refer_id将推断出名为referrer的模型.无论如何要自动创建推荐?还想知道其他人如何实现此功能.

Ada*_*cht 5

我不认为你需要一个完整的模型 - 只是一个多对一的关系.在Users类中添加一个名为"referenced_by_user_id"的列,然后将以下内容添加到用户模型中.

belongs_to :referred_by, :class_name => "User", :foreign_key => "referred_by_user_id"

has_many :referrals, :class_name => "User", :foreign_key => "referred_by_user_id"
Run Code Online (Sandbox Code Playgroud)


Ale*_*ner 5

如果您只需要存储引用用户,则可能不需要其他模型.只需与另一个User对象关联:

class User < ActiveRecord::Base
  belongs_to :referrer, :class_name => "User"
end
Run Code Online (Sandbox Code Playgroud)

只需确保referrer_idusers表格中添加一列.