新手问题 数据查询的问题

zix · 2016年10月29日 · 最后由 flemon1986 回复于 2016年10月31日 · 1416 次阅读
<% @pad.bombs.where("group = 0").each_with_index do |bomb,index| %>

会报错

ActionView::Template::Error (SQLite3::SQLException: near "group": syntax error: SELECT "bombs".* FROM "bombs" WHERE "bombs"."pad_id" = ? AND (group = 0)):

但是写成

<% @pad.bombs.where(group: 0).each_with_index do |bomb,index| %>

就没问题……这是为什么

group 在 SQL 中是关键词,需要用引号括起来。

@pad.bombs.where(group: 0).to_sql 可以看到 ActiveRecord 生成的 SQL 是怎么样的。

还有建议不要在 view 里用数据逻辑...不好控制,不好测试。。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号