rails check_box失败的布尔属性
我有一个postgres数据库与布尔字段:on_farm_tour
。但我的观点得到这样的:rails check_box失败的布尔属性
undefined method `to_i' for #<Class:0x10ddec5c0>
Extracted source (around line #10):
7:
8: %p
9: =f.label :on_farm_tour, "This farm is in the Farm Tour?"
10: =f.check_box :on_farm_tour
11:
12: %p
13: =f.label :last_mile_directions, 'Enter driving directions from the last point displayed by Google Maps for this farm to the actual location of the farm'
很明显,我知道true.to_i
是不确定的,但什么是处理这个正确的方法是什么?
这似乎是一个问题。尝试使用check_box_tag代替。看看什么apidock.com说一下:
疑难杂症
HTML规范说选中 复选框都没有成功,而 因此Web浏览器不发送。 不幸的是,这引入了一个 问题:如果一个Invoice模型有一个付费 标志,并且编辑一个 付款发票的形式,用户取消选中它的 复选框,不发送付费参数。 因此,像
@invoice.update_attributes(params[:invoice])
不会更新标志的任何大规模分配成语。
为防止这种情况,助手在 复选框之前生成 辅助隐藏字段。隐藏字段有 相同的名称和其属性模仿 一个未选中的复选框。
这种方式,客户端或者只发送 隐藏字段(表示 复选框未被选中),或两者 字段。由于HTML规范 说键/值对有它们出现在 形式相同的顺序发送 和参数提取得到 在查询字符串中的任何重复 关键,对于一般形式的作品 最后一次出现。
不幸的是,当复选框进入一个 类似数组的参数范围内的解决方法不会 工作,在
<%= fields_for "project[invoice_attributes][]",
发票:指数=>无事|形式| %> <%= form.check_box:支付%> ... <%端%>
因为参数名的重复是 正是滑轨寻求 区分数组的元素。 对于每个带有复选框 的项目,您将获得一个额外的鬼物品,其中只有 属性,分配为“0”。
在这种情况下,最好 要么使用check_box_tag,要么使用 散列而不是数组。
我不认为这是问题。该复选框从不呈现,因为代码扼流圈。这似乎是一个rails版本的问题。刚刚从2.3.4升级了一个旧项目到2.3.11,这似乎解决了这个问题。 – pixelearth 2011-06-15 21:26:49
我们可以看一下表格的开头,即6个第一行吗? – christianblais 2011-06-15 20:17:07