mindpin/eshare

知识点测试题的笔记

Opened this issue · 1 comments

说明

用户可以针对一个测试题创建多个笔记

笔记有三个部分组成
1 一个纯文本
2 一个图片
3 一个代码段
一个笔记至少有其中一部分,如果什么都没有,不允许创建

建模

  create_table :knowledge_question_notes do |t|
    t.integer :knowledge_question_id
    t.integer :creator_id
    t.text :content # 纯文本
    t.string :image # 用 carrierwave 存储图片
    t.text :code  # 代码片段
    t.string :code_type # 代码片段类型: java javascript ruby 等等
    t.timestamps
  end

需要做的事情

1 完成基础的 knowledge_question_notes 建模和校验(一个笔记至少有三部分中的某一个部分,如果什么都没有,不允许创建)
2 提供下面的方法

  # 创建笔记
  knowledge_question.knowledge_question_notes.create(hash)

  # 查询某个用户对某个问题的笔记
  knowledge_question.knowledge_question_notes.by_creator(user)

  # 某个用户对某个领域的笔记
  user.knowledge_question_notes.by_knowledge_net(knowledge_net)

目前系统中有一个 file_entity 模型专门存用户上传的文件

knowledge_question_notes 需要进行如下修改

remove_column :knowledge_question_notes, :image
add_column :knowledge_question_notes, :file_entity_id, :integer

笔记中的图片改为存到 file_entity 模型中