新手问题 一些项目里面用到的 Setting.app_name 是从哪里来的?

alphaliu · December 14, 2012 · Last by AlphaLiu replied at December 14, 2012 · 3706 hits

看到 ruby-china 等都有用到一个叫 Setting.app_name 的变量,本来我以为是定义在 config/config.yml 里面的,试了一下,还是出现 uninitialized constant ActionView::CompiledTemplates::Setting 的错误。问一下这变量在哪里定义的?谢谢

RubyChina 用了 settingslogic 不过我个人建议试试看 @fredwu 写的 rails_config

#2 楼 @huacnlee 这个地址 404 了

#3 楼 @AlphaLiu 我已经修好了。

#4 楼 @lgn21st 谢谢,这个确实更简单易用

@huacnlee @lgn21st 我尝试使用这个 rails-settings-cached,根据文档,我先

rails g settings setting

然后rake db:migrate 之后在我的 setting.rb 里面

class Setting < RailsSettings::CachedSettings
  attr_accessible :var, :value
end

在 rails console 里面使用 Setting.admin_password = 'supersecret'什么的都正常, 接下来我就在 config/application.rb 里面写了Setting.app_name=“xxx”, 但是到访问页面的时候就发现一个错误:uninitialized constant RailsSettings,我发现是因为我把Setting.app_name=“xxx”放到 config/application.rb 里面的原因。请问这些初始的 setting 放到哪里会比较合适呢?

#6 楼 @AlphaLiu application.rb 的时候 gem 还没加载,你应该参照文档后面的写法来处理默认内容

#7 楼 @huacnlee 谢谢。我现在才发现文档后面有写。

You need to Sign in before reply, if you don't have an account, please Sign up first.