因此,在我的应用的home#index
上,第一行并排显示了4张图片。
这称为featured
部分。这些4张图片将由admin
选出,每个人都可以看到它们。
我没有home
模型,只有homeController
。
因此,我希望能够将这些图像存储为单独的对象,并允许对那些仅在home#index
和home#edit
上展示的图像进行常规CRUD操作页面......我该怎么做?
我应该创建一个名为featured_images
之类的独立模型,然后从Home
控制器中的那个模型中拉出来吗?
这是我想到的一种方法,但我想知道为一些图像创建一个模型是否有点过分?但话说回来,这些图像会定期改变 - 所以也许它们不仅仅是“少数”。
思想?
答案 0 :(得分:1)
“鉴于您希望能够存储这些图像”......意味着创建模型并不过分。 Rails将使您很容易将图像存储为模型,并且很难以任何其他方式存储它们。顺便说一下。
答案 1 :(得分:1)
Model对象不必具有支持它的ActiveRecord(或其他ORM)存储;它也可以使用文件系统。或者除了包含的逻辑之外,它不能存储任何文章。该模型的主要目的是封装业务逻辑并将其从控制器层抽象出来。这导致代码更易于阅读,测试和维护。如果主题不涉及“业务”逻辑,那么帮助者或库模块可能更适合。
如果逻辑非常简单,你肯定可以将它保存在控制器中。但在此之前,确定您是否认为简单性值得更容易阅读,更易于阅读,可测试性和维护。答案可能只是'是',但通常情况并非如此。