1

所以在home#index我的应用程序中,第一行并排有 4 张图像。

那就是所谓的featured节。这 4 幅图像将被选中,admin每个人都会看到它们。

我没有home模型,只有一个homeController

因此,鉴于我希望能够将这些图像存储为单独的对象,并允许对这些图像进行常规 CRUD 操作,这些图像将仅出现在编辑页面上,home#index并且可能home#edit是编辑页面......我应该如何处理这个问题?

我应该创建一个独立的模型,调用featured_images或类似的东西,然后从Home控制器中的那个模型中提取?

这是我想到的一种方法,但我想知道为少数图像创建模型是否过大?但话又说回来,这些图像会定期变化——所以也许它们不仅仅是“少数”。

想法?

4

2 回答 2

1

“鉴于您希望能够存储这些图像”......意味着创建模型并不过分。Rails 将使您可以很容易地将图像存储为模型,并且很难以任何其他方式存储它们。走简单的路。

于 2012-11-16T03:10:47.540 回答
1

Model 对象不必有 ActiveRecord(或其他 ORM)存储支持它;它也可以使用文件系统。或者它不能存储除了包含的逻辑之外的任何文章。模型的主要目的是封装业务逻辑并将其从控制器层抽象出来。这使得代码更易于阅读、测试和维护。在主题不涉及“业务”逻辑的情况下,帮助程序或库模块可能更合适。

如果逻辑非常简单,您当然可以将其保留在控制器中。但在这样做之前,请确定您是否觉得简单性值得在更容易的可读性、可测试性和可维护性之间进行权衡。答案可能只是“是”,但通常情况并非如此。

于 2012-11-16T03:35:18.760 回答