ruby-on-rails-4 - 广告系列模型的最佳关联是什么?

  显示原文与译文双语对照的内容
0 0

我是 Rails,还有关联思想,请在我的试用项目中,人们会承诺投票但不知道如何处理用户。 用户逻辑一个用户只能承诺一次,在认证过程中,他必须选择他的参与者。 如何调用一个用户对象并请求所有的引用? 模型:

class User <ActiveRecord::Base
 has_one :pledge
 has_secure_password
 VALID =/A([^@s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})z/i
 validates :email, format: { with: VALID, on: :create }
 validates_confirmation_of :password
 validates_presence_of :password, :on => :create
 validates_presence_of [:email, :first_name, :last_name, :phone_number, :gender ]
 validates_uniqueness_of :email
 def signing_counter
 increment! :sign_in_count
 end
end
class Pledge <ActiveRecord::Base
 belongs_to :user
 validates_acceptance_of :agreed
 validates_presence_of :commitment, :user_id
end

请提前致谢。

时间:原作者:2个回答

0 0
class Refs <ActiveRecord::Base
 belongs_to :user
 belongs_to :referal, :class_name => 'User'
end
class User <ActiveRecord::Base
 has_many :refs
 has_many :referals, :through => :refs, :source => :referal
 has_many :refers, :through => :refs, :source => :user
end
原作者:
0 0

生成用户模型:

rails g migration user name:string refer_id:integer

单个用户可以引用多个用户:仅由一个用户引用/注册一个用户。

#user.rb
class User <ActiveRecord::Base
 has_many :refers, class_name: 'User', foreign_key: 'refer_id'
 belongs_to :referred_by, class_name: 'User', foreign_key: 'refer_id'
end

查询:

#gives the list of users to whom this first User refers.
User.first.refers 
#gives the user who has referred the first User.
User.first.referred_by
原作者:
...