【问题标题】:How to use gem rails-settings-cached如何使用 gem rails-settings-cached
【发布时间】:2015-08-06 09:37:31
【问题描述】:

我对使用 rails-settings-cached 有一些疑问和问题 (https://github.com/huacnlee/rails-settings-cached/blob/master/README.md)

  1. 我有 Rails v.4.2.1。我需要使用什么宝石? Rails 4.1.x 的 "rails-settings-cached", "0.4.1" 或 Rails 4+ 的 gem "rails-settings-cached", "0.3.1" ??

  2. 生成设置:

    $ rails g settings SettingsCompany

这会创建模型 settings_company.rb,如果我想创建一个管理界面来编辑设置,我需要手动创建设置控制器吗?

2.1 设置控制器的名称是什么?我可以这样称呼它吗?

  1. 好的,我创建设置控制器:

    rails g controller Settings

class SettingsController < ApplicationController

  def index
    # to get all items for render list
    @settings = Setting.all
  end

  def edit
    @setting = Setting.unscoped.find(params[:id])
    end
  end

此代码创建错误:

SettingsController#index 未初始化常量中的NameError

设置控制器::设置

在字符串上

@settings = Setting.unscoped
  1. 什么是“无范围”?

  2. 我有点不明白如何创建一些设置。

之后

`Setting.admin_password = 'supersecret'`

DB 表 SettingsCompany 中的记录是自动创建的:

var = admin_password 
value = supersecret

【问题讨论】:

    标签: ruby-on-rails ruby application-settings


    【解决方案1】:

    如果您创建了设置并将其命名为 SettingsCompany,那么您需要在文档中使用它而不是 Setting,例如而不是Setting.allSettingsCompany.all。所以要创建设置:

    SettingsCompany.admin_password = 'supersecret'

    查看 rails guides 以了解 unscoped:http://guides.rubyonrails.org/v3.2.8/active_record_querying.html#selecting-specific-fields

    【讨论】:

      猜你喜欢
      • 2018-05-27
      • 2014-07-20
      • 2011-06-19
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      • 2015-03-30
      相关资源
      最近更新 更多