用户评级协会
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_point、user_id 和 creator_id 其中 user_id 是给出评分的,creator_id 是给用户评分的用户。
class Rating < ApplicationRecord
belongs_to: user
end
试试这个它会解决你的问题。如果没有请告诉我。
我正在做 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_point、user_id 和 creator_id 其中 user_id 是给出评分的,creator_id 是给用户评分的用户。
class Rating < ApplicationRecord
belongs_to: user
end
试试这个它会解决你的问题。如果没有请告诉我。