2011-11-09 12 views
4

Rails 3.1モデルにいくつかのブール値属性があり、移行を介して追加した2つの新しい属性がHeroku(Cedar)上で正しく機能していません。彼らは私がPostgreSQL(ver 9)を使っているローカルで適切に動作しています。Heroku上のcheck_boxが正常に動作しない

移行:

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)。

何か不足していますか?このフォームには、他のブール値のフィールドもあります。これはデフォルト値に関連していますか?

+0

新しいコレクションインスタンス(つまり、新しく作成され、まだデータベースにはない)またはデータベースからロードされたコレクションがある場合、チェックボックスはオフになっていますか? –

+0

dbからロードされました – Callmeed

+0

数時間後に鉱山が固定されました。 :/ – Leopd

答えて

1

私もこの問題を抱えていました。私は愚かな回避策で終わった。私はそれが良い解決策ではないことを知っているが、これは私のものです:

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

それは醜いですが、それは同じ設定でHerokuの上で私のために仕事をしてくれました。うまくいけば、より洗練されたソリューションがあります。

関連する問題