环境配置类型的课件
Opened this issue · 0 comments
fushang318 commented
说明
增加一种叫做 环境配置 类型(environment_config)的课件
比如
如何搭建 android 开发环境
这种内容的教程就适合做成 环境配置 类型的课件
环境配置类型(environment_config)的课件的结构如下
1 一个课件由多个 state 组成
2 每个 state 代表一个配置步骤(比如安装jdk就可以算作一个 state)
3 每个 state 有零到多个前置 state
4 每个 state 有零到多个后续 state
如果课件是环境配置类型(environment_config)
那么 course_ware.kind = "environment_config"
建模
create_table :environment_config_states do |t|
t.string :title
t.text :content
t.integer :course_ware_id
t.timestamps
end
create_table :environment_config_state_relations do |t|
t.integer :parent_state_id # 前置 state
t.integer :child_state_id # 后续 state
t.timestamps
end
需要做的事情
1 environment_config_states 和 environment_config_state_relations 的基础的建模和校验关联等
2 提供以下方法
# 查询 课件下 所有的 state(数组顺序的说明见最后的图)
course_ware.environment_config_states
# 查询 课件 下没有前置 state 的所有的 state
course_ware.root_environment_config_states
# state 的所有前置 state
environment_config_state.parent_states
# state 的所有后续 state
environment_config_state.child_states
图中 1 2 3 是 root_environment_config_states,因为他们没有前置 state
4 的 parent_states 是 1 2 3
4 的 child_states 是 5 6
1 的 child_states 是 4
course_ware.environment_config_states 的顺序需要是 (1 2 3) 4 (5 6)
括号中的顺序可以随意,因为他们是一个层级的
只是就是要保证这个数组中 后边的 state 不会是前边 state 的 前置