用户评级协会

user - rating associations

我正在做 rails 项目,我想创建一些用户评分系统,这意味着每个用户都可以给另一个用户留下反馈,并且用户也可以更改分数他留下了,所以问题是如何在 rails 中正确地实现这些关联?

我已经有了我的用户模型

class User < ApplicationRecord

  mount_uploader :avatar, ImageUploader
  validates :username, presence: true, uniqueness: true, length: {in: 3..20}

  devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :validatable

  has_many :posts, dependent: :destroy
  has_many :comments, dependent: :destroy
  enum role: [ :user, :admin ]

end

嗯,据我了解你的问题,这是 ONE-TO-MANY 关联。

用户-很多-> 评分

class User < ApplicationRecord

  mount_uploader :avatar, ImageUploader
  validates :username, presence: true, uniqueness: true, length: {in: 3..20}

  devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :validatable

  has_many :posts, dependent: :destroy
  has_many :comments, dependent: :destroy
  has_many :ratings, dependent: :destroy
  enum role: [ :user, :admin ]

end

现在创建一个评级模型,它将具有属性 rating_pointuser_idcreator_id 其中 user_id 是给出评分的,creator_id 是给用户评分的用户。

class Rating < ApplicationRecord
 belongs_to: user
end

试试这个它会解决你的问题。如果没有请告诉我。