埋め込み配列を使用して、Railsの複数選択で最初の要素が常に空白になるのはなぜですか?
Rails3.2.0.rc2を使用しています。私が持ってModelいる私は、静的持って、Array私は、ユーザーがのサブセットを選択できるように、フォームをアップ提供していますArrayし、1つの列に格納されているデータベースにその選択を保存しますModel。ArrayRailsがユーザーの選択をYamlに正しく変換している(そしてその列を読み取るときに配列に戻る)データベース列でserializeを使用しました。複数選択フォーム入力を使用して選択を行っています。 私の問題は、現在の方法では、サーバーに送信されるときにユーザーのサブセット配列の最初の要素が常に空白になることを除いて、すべてが期待どおりに機能することです。 これは大したことではなく、事後にそれを切り取るコードを書くことはできますが、デフォルトのRailsの動作が意図的に行われるとは思えないため、何らかの構文エラーを起こしているように感じます。なんらかの理由なしにこの空白の要素を追加します。何かを見逃したか、ある種の設定を無効にするのを忘れたに違いありません。私が欠けているものを理解するのを手伝ってください(または、私がインターチューブで見つけたものよりも詳細にこれを説明しているいくつかの良いドキュメントを教えてください)。 MySQLデータベーステーブル 'モデル': subset_arrayTEXTフィールドであるという名前の列が含まれています クラスモデルには、次の設定が含まれています。 serialize :subset_array ALL_POSSIBLE_VALUES = [value1, value2, value3, ...] モデルを編集するためのフォームには、次の入力オプションが含まれています。 f.select :subset_array, Model::ALL_POSSIBLE_VALUES, {}, :multiple => true, :selected => @model.subset_array クライアントからサーバーへのPUTは次のようになります。 value1とvalue3のみが選択されていると仮定します "model" => { "subset_array" => ["", value1, value3] } データベースの更新は次のようになります。 UPDATE 'models' SET 'subset_array' = '--- \n- \"\"\n- value1\n- value3\n' ご覧のとおり、送信されてデータベースに設定されている配列には、この余分な空白の要素があります。どうすればそれを取り除くことができますか?f.select通話に欠けているパラメータはありますか? どうもありがとうございました:) …