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

alphaliu · 2012年12月14日 · 最后由 AlphaLiu 回复于 2012年12月14日 · 3711 次阅读

看到 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 谢谢。我现在才发现文档后面有写。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号