Rails 3.2.1に、:optionsと呼ばれるシリアル化されたパラメーターの列を持つモデルを持つアプリケーションがあります。
私のフォームでは、ユーザーが登録するときにオプションを一覧表示するために次のコードを使用しています(そしてそれは機能します)。さまざまな状況でさまざまなデータをキャプチャする必要があるため、これにはシリアル化されたオプションを使用する必要があります。
<% @options.each do |key, value| %>
<%= f.fields_for :options do |options| %>
<%= options.label key %>
<%= options.text_field key, :value => value %>
<% end %>
<% end %>
コードは正常に機能しますが、フィールドラベルは大文字と小文字を保持するのではなく、小文字で表示されます。1)番地
<label for="registration_options_2)_City_State,_Zip">2) city state, zip</label>
<input id="registration_options_2)_City_State,_Zip" name="registration[options][2)_City_State,_Zip]" size="30" type="text" value="" />
<label for="registration_options_3)_Contact_phone_number">3) contact phone number</label>
<input id="registration_options_3)_Contact_phone_number" name="registration[options][3)_Contact_phone_number]" size="30" type="text" value="" />
<%= options.label key.capitalize%>または<%= options.label key.titlecase%>を使用してみましたが、役に立ちませんでした。ラベルタグが原因であり、キーではないようです。出力コードと同様に、キーのケースは問題ありません。そうではないのは、ラベルタグから出てくるものです。
提案?前もって感謝します!