如何从数据库中选择*,其中列!= rails中的值

Jon*_*Jon 2 ruby-on-rails

现在我正在执行以下查询以在我正在处理的简单项目管理应用程序中显示所有任务.

Task.find(:all, :order => 'updated_at DESC')
Run Code Online (Sandbox Code Playgroud)

虽然我有一个私有列,如果任务是私有的,设置为1,这很好并且工作得很好.如何选择数据库中私有不= = 1的所有任务?

muf*_*sta 5

这个ARel应该做的伎俩:

Task.where(:private => false).order("updated_at DESC")
Run Code Online (Sandbox Code Playgroud)

编辑:这是假设你的列是1或0.如果没有,你可以使用lt/gt比较,看起来像这样:

Task.where(Task.arel_table[:private].gt(1)).order("updated_at DESC")
Run Code Online (Sandbox Code Playgroud)