Rails check_box на Heroku не работает должным образом - PullRequest
4 голосов
/ 10 ноября 2011

У меня есть некоторые логические атрибуты в модели Rails 3.1, и два новых, которые я только что добавил посредством миграции, не работают должным образом в Heroku (Cedar).Они работают должным образом локально, где я также использую PostgreSQL (версия 9).

Миграция:

class AddNotificationSettingsToCollections < ActiveRecord::Migration
  def change
    add_column :collections, :email_comments, :boolean   , :default => true
    add_column :collections, :email_selections, :boolean , :default => true
  end
end

Представление (HAML)

%li
  %label{:for => 'collection_email_comments'}
    = f.check_box :email_comments
    Email me when comments are made
%li
  %label{:for => 'collection_email_selections'}
    = f.check_box :email_selections
    Email me when a selection is made

Проблема в том, что флажок ВСЕГДА отображается как непроверенный, но модель ВСЕГДА имеет атрибуты, установленные какправда, когда я проверяю консоль.Когда я подключаю файл журнала Heroku, я вижу, что для этих полей установлен правильный параметр (1).

Я что-то упустил?У меня есть другие логические поля в этой форме, которые работают нормально.Может ли это быть связано со значением по умолчанию?

1 Ответ

1 голос
/ 22 марта 2012

У меня тоже была эта проблема. Я закончил с глупым обходным путем. Я знаю, что это не очень хорошее решение, но это мое:

= f.check_box :email_comments, {:checked => (@collection.new_record? ? true : @collection.active)}

Это некрасиво, но оно сделало работу для меня на Heroku в идентичной конфигурации. Надеюсь, что есть более элегантное решение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...