如何创建一个在Rails中不返回记录的where子句?

B S*_*ven 2 activerecord ruby-on-rails ruby-on-rails-4

有没有一种方法可以生成一个永远不会返回任何结果的where子句?

用例:此搜索方法生成where子句.但是,如果params无效,那么仍然应该返回where子句.但是where子句应该不返回任何记录.

class Foo < ActiveRecord::Base
  def search params
    if invalid?(params)
      return where(...)
    end

    where(name: params[:name])
 end
Run Code Online (Sandbox Code Playgroud)

一个想法是使用where(id:nil),但这并不清楚地表达意图.

Rails 4.1.7

Gav*_*ler 6

你正在寻找这种none方法.