gpt4 book ai didi

ruby-on-rails - 使用户可以通过 Web 表单访问应用程序范围的设置

转载 作者:行者123 更新时间:2023-12-04 07:39:25 26 4
gpt4 key购买 nike

我整个下午都在四处寻找,试图找到在 Rails 中设置用户可修改的应用程序范围设置的主要约定......到目前为止还没有骰子。

我正在开发一个旨在供一个组织使用的简单应用程序,因此不需要用户模型,只有一个管理员。该管理员需要能够修改某些站点范围的首选项,例如 Logo 、配色方案、标语等。

在 Rails 3.1 中创建这种应用程序范围的设置并让最终用户轻松访问它们的最佳实践是什么?您可以链接到的任何示例应用程序的奖励积分。

最佳答案

存储可编辑应用程序范围设置的主要约定似乎是键值存储的概念,由 ActiveRecord 或其他机制支持。而且,据我所知,至少有两种不错的策略来存储您的应用程序范围的设置,具体取决于您的要求。

如果您想要一种通用的方法,但又非常灵活地定义了一些可以与 AR 模型相关联的(非)范围设置,您可以使用 Rails-Settings (或其缓存版本 Rails-Settings-Cached )。我没有尝试在 Rails 3.1 中使用该插件,但它在 3.0 上运行良好。它允许您拥有以下内容:

Settings.main_color = '#3333CC'
Settings.logo_file_name = 'images/logo.png'
Setting['preferences.color'] = :blue

如果您想要一个强大的方法,使用单表继承并允许您在某些设置中执行验证,就像使用实际 AR 记录一样,您有这个不错的 article ,由 Jeff Dean 编写,它将引导您完成整个过程。这样,您可以通过将设置分组到子类来确定范围,并且您可以拥有以下内容:
class ApplicationSettings::PageLayout < ApplicationSetting
validates :title, :presence => true
...
def title
value
end

def title=(value)
self.value = value
end

而且我想通过一些简单的调整你甚至可以拥有 has_manybelongs_to某些设置中的关联(例如可变大小的电话号码或电子邮件列表)。

就我个人而言,我更喜欢后一种方法(当设置是一个大问题时),因为它可以让您更好地控制您存储的设置并保持您的代码干净和干燥,允许您遵循 MVC 模式。

关于ruby-on-rails - 使用户可以通过 Web 表单访问应用程序范围的设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8159890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com