Rails Settings Cached 使用教程

Rails Settings Cached 使用教程

rails-settings-cachedGlobal settings for your Rails application.项目地址:https://gitcode.com/gh_mirrors/ra/rails-settings-cached

项目介绍

rails-settings-cached 是一个用于在 Rails 应用程序中管理全局设置的 gem。它允许你将全局键值对存储在数据库中,并提供了类似于 ActiveRecord 的方法来操作这些设置。这个 gem 非常适合那些不想在 Rails 应用中硬编码全局设置的开发者。

项目快速启动

安装

首先,在你的 Gemfile 中添加 rails-settings-cached

gem 'rails-settings-cached'

然后运行 bundle 安装:

bundle install

生成设置

接下来,生成设置文件:

rails g settings:install

你也可以使用自定义名称:

rails g settings:install AppConfig

这会生成 app/models/setting.rb 文件,内容如下:

class Setting < RailsSettings::Base
  cache_prefix ["v1"]

  scope :application do
    field :app_name, default: "Rails Settings", validates: { presence: true, length: { in: 2..20 } }
    field :host, default: "http://example.com", readonly: true
    field :default_locale, default: "zh-CN", validates: { presence: true, inclusion: { in: %w[zh-CN en jp] } }
    field :admin_emails, type: :array, default: %w[admin@rubyonrails.org]
    field :welcome_message, type: :string, default: -> { "welcome" }
  end
end

使用设置

你可以在应用程序中使用这些设置,例如:

Setting.app_name
Setting.host
Setting.default_locale
Setting.admin_emails
Setting.welcome_message

应用案例和最佳实践

应用案例

rails-settings-cached 被广泛应用于各种开源项目中,例如:

  • ruby-china/homeland
  • forem/forem
  • siwapp/siwapp
  • aidewoode/black_candy
  • huacnlee/bluedoc
  • getzealot/zealot
  • kaishuu0123/rebacklogs
  • texterify/texterify
  • mastodon/mastodon
  • helpyio/helpy
  • daqing/rabel

最佳实践

  1. 缓存管理:使用 cache_prefix 来管理缓存,确保在更新设置时缓存能够正确失效。

  2. 只读设置:对于一些不应该被修改的设置,使用 readonly: true 来保护它们。

  3. 验证:为设置添加验证,确保设置的值符合预期。

典型生态项目

rails-settings-cached 是 Rails 生态系统中的一个重要组成部分,它与其他 gem 和工具一起,为开发者提供了强大的配置管理功能。以下是一些典型的生态项目:

  • ActiveSupport::Cache::RedisCacheStore:用于将缓存存储在 Redis 中,提高缓存性能。
  • ActiveRecord::AttributeMethods::Serialization:用于序列化复杂对象,使其能够存储在数据库中。

通过这些工具和 gem 的结合使用,开发者可以构建出高效、灵活的 Rails 应用程序。

rails-settings-cachedGlobal settings for your Rails application.项目地址:https://gitcode.com/gh_mirrors/ra/rails-settings-cached

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋泉律Samson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值