ruby-on-rails-3 - Rails 范围不等于

标签 ruby-on-rails-3 activerecord

我正在编写一个范围,应该选择所有调用,其中call_status = open并且unit_id不为零。我对 Ruby 真的很弱,而且对 Rails 也很陌生,很难正确表达这一点。

这是我所拥有的:

scope :open_calls, where(:call_status => "open", :unit_id != nil).order("id ASC")

我应该使用不同的运算符来评估 nil 吗?

最佳答案

据我所知,没有办法告诉 ActiveRecord 使用哈希构建 NULL 子句。但是您可以链接字符串样式和散列样式的 where 子句:

scope :open_calls, where(:call_status => "open").where("unit_id IS NOT NULL").order("id ASC")

关于ruby-on-rails-3 - Rails 范围不等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11320945/

相关文章:

ruby-on-rails - 附加到事件记录关系对象

ruby-on-rails - Rails 3 Object.try 语法

Rails 3 中的 MySQL 语法,不区分大小写的搜索,不适用于 Heroku?

ruby-on-rails - 在选择查询中返回虚拟属性

ruby-on-rails - 为什么where()。first_or_create仅在RSpec中生成不正确的SQL?

C - 激活记录中变量的地址

ruby - Rails:ParameterFilter::compiled_filter 尝试复制符号

ruby-on-rails - 新安装的 Rails + Devise 总是得到 401 Unauthorized

使用 Rails ActiveRecord 的 MySQL REGEXP

ruby-on-rails - 比较 rspec 自定义 ActiveRecord::RecordInvalid 错误消息