Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 将字符串选择表单字段作为整数提交到服务器_Html_Ruby On Rails - Fatal编程技术网

Html 将字符串选择表单字段作为整数提交到服务器

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 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标记中的。谢谢我会采纳你的建议。