Html 将字符串选择表单字段作为整数提交到服务器
我使用的是Rails 3.1.0。在我的一个视图中,我有一个表单_用于一个新动作的block。表单中填写的大多数字段都以整数形式存储在数据库中,但我希望将它们以字符串形式显示在select输入中。例如,用户可能必须在选择输入中选择Bad、OK、Good,但我希望将Bad存储为1,OK存储为2,Good存储为3。我想在浏览器中将字符串转换为整数 实现这一目标的推荐方法是什么 我考虑将整数字段隐藏起来,然后使用javascript将所选字符串转换为整数并填充隐藏的整数字段。这有意义吗?或者有更简单的方法吗Html 将字符串选择表单字段作为整数提交到服务器,html,ruby-on-rails,Html,Ruby On Rails,我使用的是Rails 3.1.0。在我的一个视图中,我有一个表单_用于一个新动作的block。表单中填写的大多数字段都以整数形式存储在数据库中,但我希望将它们以字符串形式显示在select输入中。例如,用户可能必须在选择输入中选择Bad、OK、Good,但我希望将Bad存储为1,OK存储为2,Good存储为3。我想在浏览器中将字符串转换为整数 实现这一目标的推荐方法是什么 我考虑将整数字段隐藏起来,然后使用javascript将所选字符串转换为整数并填充隐藏的整数字段。这有意义吗?或者有更简单的
这不是Rails特有的问题,但我正在使用Rails,我认为Rails可能有一种很好的方式来完成我想做的事情。您应该向表单中的select helper发送一组选项,以便在您的视图中:
<%= f.select :quality, [['Bad', 1], ['OK', 2], ['Good', 3] %>
注意,在保存模型之前,您可能需要在控制器中进行一些工作,以将这些值从字符串转换为整数-只需检查一下即可。您实际上不需要在控制器中进行任何转换。我查看了由此生成的html,每对中的第二个值存储在option标记的value属性中。显然,我想要的功能是直接内置在select标记中的。谢谢我会采纳你的建议。