如何在我的应用程序的主页上设置“特色部分”,只能由“管理员”编辑?

时间:2012-11-16 03:07:46

标签: ruby-on-rails ruby-on-rails-3

因此,在我的应用的home#index上,第一行并排显示了4张图片。

这称为featured部分。这些4张图片将由admin选出,每个人都可以看到它们。

我没有home模型,只有homeController

因此,我希望能够将这些图像存储为单独的对象,并允许对那些仅在home#indexhome#edit上展示的图像进行常规CRUD操作页面......我该怎么做?

我应该创建一个名为featured_images之类的独立模型,然后从Home控制器中的那个模型中拉出来吗?

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

思想?

2 个答案:

答案 0 :(得分:1)

“鉴于您希望能够存储这些图像”......意味着创建模型并不过分。 Rails将使您很容易将图像存储为模型,并且很难以任何其他方式存储它们。顺便说一下。

答案 1 :(得分:1)

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

如果逻辑非常简单,你肯定可以将它保存在控制器中。但在此之前,确定您是否认为简单性值得更容易阅读,更易于阅读,可测试性和维护。答案可能只是'是',但通常情况并非如此。