我在想如何复选框在Rails中工作?数据库里面的表是什么(整数,字符串等)?你如何给3个不同的值来选择复选框,用户只能选择1(喜欢的颜色:红色,绿色或蓝色)?复选框如何在Rails中工作?
我是新来的rails,它有助于从头到尾有一个解释,因为我看到很多示例,但是他们从一开始就没有解释任何事情。
谢谢。
我在想如何复选框在Rails中工作?数据库里面的表是什么(整数,字符串等)?你如何给3个不同的值来选择复选框,用户只能选择1(喜欢的颜色:红色,绿色或蓝色)?复选框如何在Rails中工作?
我是新来的rails,它有助于从头到尾有一个解释,因为我看到很多示例,但是他们从一开始就没有解释任何事情。
谢谢。
复选框和数据库之间有区别。复选框是HTML。数据库连接到您的模型,并且与复选框无关。
当您在HTML视图中使用复选框时,表单将发送一些参数。默认情况下,此参数的值为“1”(如字符串)。 Rails帮助器还创建了一个额外的隐藏输入,它将与复选框输入相同的名称发送值“0”。解析参数Rails选择第一个值,因此给定的参数在复选框被选中时被分配一个值“1”,如果没有被选中则被赋值为“0”。
现在,保存在数据库中的值取决于模型中属性的类型。如果您将给定的字段定义为布尔值,那么它将被存储为布尔值(因为字符串“0”在Ruby中不被视为“假”,所以存在一些魔力),如果将该属性定义为整数,那么它将具有值1或0,如果它是一个字符串,你将有“1”或“0”。
关于复选框的这3个值,我将使用一个<select>
或一个单选按钮。
Red: <input type="radio" name="colour" value="red" checked="checked"/>
Green: <input type="radio" name="colour" value="green" />
Blue: <input type="radio" name="colour" value="blue" />
查看ActionView::Helpers::FormHelper#radio_button
方法。
这与我的回答实际上是一样的,或者你应该对我说同样的话? :) – 2011-05-31 11:06:03
@Ryan:我是第一个开始输入答案的人,只是我打字速度较慢。我们只是想同样的事情;-) – Arsen7 2011-05-31 11:10:19
@ Arsen7:我甚至不知道为什么我们要互相输入评论。我们应该能够通过我们共同的思想进行沟通。 – 2011-05-31 11:25:12