我有一个相对简单的Rails应用程序,我想存储管理员用户在应用程序运行时可以更改的各种配置设置,例如,允许对帖子发表评论或更改日期的显示格式.
我知道我可以在environment.rb文件中存储常量等,但是这些似乎只在服务器重新启动时才加载.
是否有替代的地方我可以定义这些信息,或者将它保存在数据库中会更好吗?
任何建议表示赞赏
谢谢.
我有一个使用布尔值的迁移,并在其视图中生成一个复选框.但是,无论我单击什么,保存到数据库的值都不会受到影响.
我的迁移看起来像这样:
def self.up
    create_table :blogposts do |t|
      t.string :title
      t.text :body
      t.boolean :allow_comments, :default => false  
      t.references :author
      t.references :lasteditor
      t.timestamps
    end
  end
我的观点如下:
<% semantic_form_for([:controlpanel, @blogpost]) do |form| %>
<%= form.error_messages %>
<% form.inputs do %>
<%= form.input :title %>
<%= form.input :body %>
<%= form.input :allow_comments %>
<% end %>
<%= form.buttons %>
其中产生以下HTML:
<li class="boolean required" id="blogpost_allow_comments_input">
<label for="blogpost_allow_comments">
<input id="blogpost_allow_comments" name="blogpost[allow_comments]" type="checkbox" value="1" />
<input name="blogpost[allow_comments]" type="hidden" value="0" />Allow comments
<abbr title="required">*</abbr>
</label>
</li> 
控制器只是脚手架生成的默认值. …