2012-03-24 5 views
0

環境に予期しない値を追加します:Railsの3.2.1
SimpleForm 2.0.1
私はグーグル経由で同様の質問をして、ここで、他の場所のユーザーに遭遇してきたが、私はまだ答えを発見していません!simple_formコレクションのチェックボックスがデータベース

連絡先の設定を定義するための一連のチェックボックスを提供したいと考えています。
私はsimple_formデモアプリケーションで気づいたことを使って小さなテストアプリを作った。

私の連絡先のモデルはContactsHelperで "post_pref"

という名前の文字列の属性を持っている私は、この付属:私は始め

<%= f.input :post_pref, :collection => contact_preference_options, :as => :check_boxes %> 

:私の_formで

def contact_preference_options 
    ['High Resolution','Web Resolution','Browser','Hard Copy Proof'] 
end 

部分を私はこれを含めます新しい連絡先を作成しました。

新規ビューと編集ビューでは、チェックボックスが表示されます。新しい連絡先の設定として「ブラウザ」をチェックして提出しました。
1つまたは複数の設定を確認した結果が混乱します。

最初に:
レコードを編集すると、現在の設定はチェックされません。

第二:私はこの見ショーとインデックスビューで
:私は見たい

---\n- Browser\n- ''\n 

はこれです:コンソールで

--- - Browser - '' 

を、私はこれを参照してください。

Browser 

私の質問
ダッシュはどこから来ていますか?
新しいラインはどこから来ていますか?
なぜ空の文字列がありますか?
連絡先を編集するときに以前に選択されたチェックボックスがオンになっていないのはなぜですか?

注:上記のラジオボタンまたはオプションを選択した場合、正常に動作します。しかし、私は連絡先に潜在的にいくつかの設定が必要なので、私はチェックボックスが必要です。

興味深いことに、私はsimple_formではなくformtasticで同じことを試み、ほぼ同じ結果を得ました。チェックボックスのトリックは何ですか?

ありがとうございました。それは、配列の保存されたので、私はそれを保存する前に、いくつかのパラメータの前処理を行ったように私のために

答えて

0

それが見えた:

lifestyle = params[:lifestyle] 
lifestyle[:languages] = lifestyle[:languages].reject(&:blank?).join(",") 
if @lifestyle.update_attributes(lifestyle) 
... 

この例では、私のチェックボックスは、ライフスタイルのモデルの下での言語でした。お役に立てれば。

関連する問題