У меня есть миграция, которая использует логическое значение и генерирует флажок в своем представлении. Однако независимо от того, что я нажимаю, значение, сохраненное в базе данных, не затрагивается.
Моя миграция выглядит так:
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>
Контроллер по умолчанию создается с помощью эшафот.
Если я установлю значение по умолчанию при переносе, это значение всегда сохраняется в базе данных. Если я не устанавливаю значение по умолчанию, оно всегда равно NULL.
Кто-нибудь может предложить решение, предложение о том, что может пойти не так?
Любой совет приветствуется.
Спасибо.