加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 通过Web表单向用户提供应用程序范围的设置

发布时间:2020-12-17 02:16:28 所属栏目:百科 来源:网络整理
导读:我整个下午都在四处寻找尝试找到在Rails中设置用户可修改的应用程序范围设置的主导惯例…到目前为止没有骰子. 我正在开发一个旨在供一个组织使用的简单应用程序,因此不需要用户模型,只有一个管理员.该管理员需要能够修改某些站点范围的首选项,例如徽标,配色
我整个下午都在四处寻找尝试找到在Rails中设置用户可修改的应用程序范围设置的主导惯例…到目前为止没有骰子.

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

在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_many和belongs_to关联(例如可变大小的电话号码或电子邮件列表).

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读