如何处理 Rails 应用中的 "mostly-static but editable" 内容?

How to handle "mostly-static but editable" content in a Rails app?

我有一个在线托管的 Rails 应用程序,其中标准内容启用了 CRUD 操作,多个编辑者可以使用视图中的控件创建、编辑和删除内容。这很好用。

还有一个“关于”页面,其中包含大部分不会更改的内容。这是在视图中硬编码的,任何更改都需要我编辑视图,然后将更改推送到实时站点。

我想允许编辑在线编辑此内容,而无需我的参与。

大概“关于”页面的内容需要存储在数据库中,但在其上启用完整的 CRUD 操作似乎不合逻辑。例如,只有 1 个关于页面,应该不可能删除它。

允许在线编辑“关于”页面的大部分静态内容的首选Rails方法是什么?

如果您只想避免让编辑者删除您的页面,您可以避免不将删除操作(删除、销毁)放在视图和控制器中。但是,您需要启用创建、读取和更新操作 (CRU),因为这确实是远程更新站点的唯一方法,而不是让他们直接访问您的应用程序并将其直接上传到您的主机服务器(不推荐)。

我假设您已经有一个正常运行的 login/authentication 系统,所以您只需要将该功能扩展到“关于”页面,要求编辑者在被允许之前登录并验证自己执行 CRUD(没有删除,D)功能。

请注意,即使您取消了删除功能,他们也可能会无意或故意删除“关于”页面,只需执行一个里面什么都没有的更新。为了安全起见,您应该将您的网页保存到某种版本控制软件(即:Git),这样即使在您的信息丢失的情况下,也可以使用以前的备份将您的网站恢复到以前的状态。