在 rails 中创建 1 个需要数据库交互的 off-pages 的最佳方法是什么?

What's the best approach for creating 1 off pages that requeire database interaction in rails?

提问人:Eric Norcross 提问时间:6/28/2013 最后编辑:Eric Norcross 更新时间:6/29/2013 访问量:51

问:

因此,我有一个高度定制的CMS类型系统,用户可以在其中管理页面上的内容。在大多数情况下,一切都是模板化的,但是,主页是独一无二的,以至于它具有常规页面所没有的额外可编辑内容。

为此,我想到的两个解决方案是:

1) 我可以在数据库中添加一个新的模型、控制器和表,使其成为一个全新的组件。然而,对于一页来说,这似乎很麻烦。

2)我可以将主页缺少的列添加到常规的“页面”表中,但这似乎不是最佳选择,因为额外的列只会用于主页。

处理这种情况的最佳方法是什么?有没有其他我没有想到的方法?

Ruby-on-Rails 数据库设计 信息架构

评论


答:

0赞 Philip Hallstrom 6/28/2013 #1

恕我直言,这实际上取决于网站以及主页和其他页面的差异程度,以及主页的数据库交互。一般来说,这是一个很难回答的问题。

我过去做过的一件效果很好的事情是在 CMS 工具中有一个“主页”记录(假设您可以访问一个“内容”字段)。然后为主页构建自定义控制器/视图 -- 它毕竟是主页。

添加您的自定义功能、自定义布局、格式等。然后从 CMS 的“主页”记录中提取该“内容”字段,并将其插入到相关位置。

这样一来,CMS工作人员仍然可以调整主页消息传递,但您可以保持完全的数据库交互性。

希望这是有道理的。

我不建议反对#2。似乎很浪费。

0赞 Eric Norcross 6/29/2013 #2

我最终只是为灵活的通用一次性页面创建了一个模型、控制器、表格等,因为我怀疑将来我需要额外的独立页面。主页只是其中之一,现在有一个特殊的路由,一个控制器中的方法。