繁体   English   中英

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

[英]How do I setup a "featured section", on my home page in my app, that will only be editable by an 'admin'?

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

这就是所谓的featured部分。 这 4 张图片将由admin选择,每个人都可以看到。

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

因此,鉴于我希望能够将这些图像存储为单独的对象,并允许对那些仅在home#index上显示的图像进行常规 CRUD 操作,也许home#edit将是编辑页面......我应该如何接近这个?

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

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

想法?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM