代码之家  ›  专栏  ›  技术社区  ›  Kizlo kizlo

用户-评级关联

  •  0
  • Kizlo kizlo  · 技术社区  · 7 年前

    我正在从事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
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   nitanshu verma    7 年前

    我理解你的问题,这是一对多的关联。

    用户-多->评级

    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\u点 ,则, 用户\u id creator\u id 其中,user\u id是给予评分的用户,creator\u id是给予该用户评分的用户。

    class Rating < ApplicationRecord
     belongs_to: user
    end
    

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