我在 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 %> 无济于事。看来标签标签是罪魁祸首,而不是关键。与输出代码一样,密钥的大小写很好。这是标签标签中没有的东西。
建议?提前致谢!