mindpin / eshare

目前的主站项目。
4 stars 2 forks source link

知识点测试题的讨论和评论的点赞 #239

Open fushang318 opened 11 years ago

fushang318 commented 11 years ago

说明

1 知识点测试题的讨论和评论都可以被点赞 2 一个用户对一个讨论或评论只能点一次赞 3 用户可以取消自己点的赞

建模

  create_table :likes do |t|
    t.integer :model_id # 多态关联 knowledge_question_posts 和 knowledge_question_post_comments
    t.string  :model_type #
    t.integer :user_id
    t.timestamps
  end
  add_column :knowledge_question_posts, :like_count, :integer, :default => 0
  add_column :knowledge_question_post_comments, :like_count, :integer, :default => 0

需要做的事情

1 likes 基础建模和校验

2 增加如下方法

  # 用户对 knowledge_question_post 点赞
  user.like(knowledge_question_post)
  # 用户对 knowledge_question_post_comment 点赞
  user.like(knowledge_question_post_comment)

  # 用户取消对 knowledge_question_post 点的赞
  user.cancel_like(knowledge_question_post)
  # 用户取消对 knowledge_question_post_comment 点的赞
  user.cancel_like(knowledge_question_post_comment)

  # 点一个赞,创建一个对应的 likes 数据
  # 同时同步 like_count 字段的数值

  # 这些列表都按照 like_count 字段排序,like_count 大的排前面
  knowledge_question.posts
  knowledge_question_post.main_comments
  knowledge_question_post_comment.reply_comments