看到 ruby-china 等都有用到一个叫 Setting.app_name 的变量,本来我以为是定义在 config/config.yml 里面的,试了一下,还是出现 uninitialized constant ActionView::CompiledTemplates::Setting 的错误。问一下这变量在哪里定义的?谢谢
RubyChina 用了 settingslogic 不过我个人建议试试看 @fredwu 写的 rails_config
https://github.com/huacnlee/rails-settings-cached
#2 楼 @huacnlee 这个地址 404 了
#3 楼 @AlphaLiu 我已经修好了。
#4 楼 @lgn21st 谢谢,这个确实更简单易用
@huacnlee @lgn21st 我尝试使用这个 rails-settings-cached,根据文档,我先
rails g settings setting
然后rake db:migrate 之后在我的 setting.rb 里面
rake db:migrate
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 放到哪里会比较合适呢?
Setting.admin_password = 'supersecret'
Setting.app_name=“xxx”
uninitialized constant RailsSettings
#6 楼 @AlphaLiu application.rb 的时候 gem 还没加载,你应该参照文档后面的写法来处理默认内容
#7 楼 @huacnlee 谢谢。我现在才发现文档后面有写。