0

可能是一个相当基本的问题,但请耐心等待。

ContentBlock我正在构建一个页面,其中包含许多由模型表示的模块化内容。每个ContentBlock都有至少一个链接,每个链接都有几个不同的属性。我最初的方法是将这些链接作为数组添加到模型中,因为似乎没有任何真正需要将它们单独存储在数据库中,并且它们没有任何自己的逻辑。现在我正在考虑构建一个用于创建/编辑的表单,ContentBlock如果链接有一个单独的嵌套模型,似乎构建起来会容易得多。

我正在强烈考虑转换为使用模型,但我的直觉是,存储像数据库中的链接这样相对微不足道的东西是一种“错误”。鉴于我仍然习惯于使用 Rails,这种感觉是不是错位了?我应该为任何事物创建模型吗?还是我应该先寻找某种最低标准?

4

2 回答 2

1

为嵌套模型创建表单肯定更容易。由于您的链接具有属性,因此建议您制作一个模型。我倾向于为不容易适应领域的概念制作模型。如果您担心查询性能,您可以随时进行预加载

于 2013-02-12T02:12:11.897 回答
0

我认为取决于您计划管理多少数据,您想针对这些数据做什么,这些数据代表什么,等等......

我们的一个项目是建造一些东西,可以为一组餐馆创建食谱。食谱(一些文本,如说明等...)-> 成分,我们使用数组,因为这些都是单行文本,永远不会超过几手。此外,这些成分没有进一步的依赖性。食谱只会呈现为 html,并且不会针对它们进行搜索(至少不会针对 db)。

另一个项目需要构建一个与您的非常相似的页面,但页面的每个“组件”都做了不同的事情,并且有些链接到应用程序中的其他对象,如视频和其他资产、模板等......我们见过人们通过所见即所得或通过某种 JS 方式完成此类工作,并将整个有效负载/结构保存在数据库中。我们发现两者都非常混乱。

出现的一个问题是,如果资产/关联对象被错误或故意删除但存在于许多页面中,会发生什么情况。使用允许的模型来确保如果某些东西被删除,它会在所有链接的关联中被删除(尽管这带来了它自己的问题,但更多的是关于页面在显示时更有意义)。

此外,我们的页面有可能变得非常大,不同类型的组件具有不同的外观和交互性,这确实是我们能够正确管理它的唯一方法。

因此,我会查看您的要求并相应地计划,上下文很重要。如果你必须改变它(这种情况经常发生),那么你就会改变它。

于 2013-02-12T02:38:28.973 回答