应该为数据库模板表提供哪些CRUD资源?

时间:2011-10-09 22:24:04

标签: ruby-on-rails database-design crud

想象一下,一个Web应用程序可以跟踪一次阅读多本书的作业。例如,如果书籍A& B有16章,书C有32章,然后在16周内完成所有三本书,一个人需要每周阅读1章A和A。 B卷和每周2章为C书。

当用户创建自己的阅读计划时,应用程序将复制阅读计划模板以创建每周的实际作业。每个作业都将根据用户提供的开始日期包含截止日期。每个作业也将按照一对多的方式链接到每周要阅读的每一章,以便用户可以按每章的基础跟踪每周需要阅读的四章中的每一章。< / p>

enter image description here

问题

  • 我是否应该为分配提供“创建CRUD”资源,即使用户不会创建单独的分配?
  • 我是否应该为阅读计划提供创建CRUD资源,然后将该模板分配复制到该用户的阅读计划分配?

这是一个Ruby on Rails 3.1应用程序。

2 个答案:

答案 0 :(得分:2)

除非你的时间/资源非常紧张,否则我建议提供直接的CRUD功能,即使它们可能仅限于某些管理员/超级用户配置文件。

根据我的经验,无论设计多么出色,应用程序迟早都需要一些快速和彻底的旁路功能来直接修改较低级别的数据。

答案 1 :(得分:0)

您应该将用户体验(UX)集中在用户想要/需要做的事情上:创建reading plans.

用户不关心(也不应该关心)有关业务问题的内部架构建模。

复杂输入的常见模型是“向导”,当用户填写小表格或回答问题时,它会引导用户完成许多连续步骤。这可能会有所帮助。

您可能需要为各自的表提供额外的crud接口,以用于您自己的管理用途。但是对于用户自己来说,要关注他们对问题的看法,而不是你对它的看法。

如果他们想到一个包含许多作业的阅读计划,那么作为计划的一部分,他们可以看到作业。 - 但是按照阅读计划将分配作为可扩展部分放在单个html页面上 - 人们很难在屏幕之间保持心理状态。