我想搜索show属性为true的用户。
show = true
@users = User.find(:all,
:conditions => ["show = ?", show])
这似乎对我不起作用。
答案 0 :(得分:5)
你的榜样一定能奏效。如果您运行的是较旧版本的rails,则可能需要重新启动服务器。
另一个选择是使用哈希语法,如...
@users = User.find(:all, :conditions => {:show => true})
然后你可以在哈希中添加其他条件。
答案 1 :(得分:3)
尝试查询的替代版本:
User.find_all_by_show(true)
确保users
表格中有一个名为tinyint(1)
的{{1}}(即boolean
)列。
我以前见过这种行为。对于数组条件,我必须对show
1
使用0
/ true
。试试这个:
false
答案 2 :(得分:1)
语法看起来对我来说。
您的development.log显示了什么?查询SQL应该在执行时出现。
答案 3 :(得分:0)
在mysql中,布尔值存储为1和0,它与其他数据库不同,因此在迁移时指定的默认值为1。
请再次检查,然后重试。
正如Toby Hede所说,您可以检查日志中生成的查询,并尝试在查询浏览器或其他任何内容中运行该查询,并查看您是否获得了预期结果。