添加侧边栏支持工具
我刚刚意识到我没有依照原先的意图将增加页面到侧边栏的方法包含在内。这类功能需要一种叫作Boolean的数据类型,因为它只有两个值:页面在或不在侧边栏中显示。
我将这种数据增加到了DataMapper当中:
property:sidebar, Boolean,:default => false
我还在“是否添加侧边栏?”(连接到数据库的侧边栏领域)的旁边增加了一个复选框来“编辑”屏幕。然后我编写了一个简单的循环来搜索数据库的记录,如果:sidebar=true,那么以列表形式显示它们,跟“列出所有项目”页面相似。
我重启该应用,编辑一个记录,然后整个应用瘫痪了。哎呀!
我尝试了一遍又一遍去弄明白到底哪里出错了,但是我始终未能成功。在结合DataMapper的资料和搜索Stack Overflow之后,我发现以这种方式使用Boolean变量不能很好地配合HTML格式。所以需要另外一条命令:
property:sidebar, Enum[:yes,:no ],:default =>:no
这基本上是做同样一件事的另外一种方式。代表“enumerate(列举)”的Enum创建了一个选项列表,而且这个表格设定了哪些选项应该储存到数据库当中。