Ruby on rails 4 未定义的方法'order';对于nil:NilClass on chained where

Ruby on rails 4 未定义的方法'order';对于nil:NilClass on chained where,ruby-on-rails-4,rails-activerecord,Ruby On Rails 4,Rails Activerecord,这是最愚蠢的事情(或者说我很愚蠢),但是当我的链接“where”方法没有返回结果时,我得到了一个“order”的no-method错误 这不应该只为@companys返回一个空数组,这样我就可以在我看来处理这个问题了吗 控制器: @companies = Company.all.filter(domicile = params[:domicile], due_date = params[:due_date]).order("name ASC") 型号: def self.filter(domi

这是最愚蠢的事情(或者说我很愚蠢),但是当我的链接“where”方法没有返回结果时,我得到了一个“order”的no-method错误

这不应该只为@companys返回一个空数组,这样我就可以在我看来处理这个问题了吗

控制器:

@companies = Company.all.filter(domicile = params[:domicile], due_date = params[:due_date]).order("name ASC")
型号:

def self.filter(domicile, due_date)
  where( "domicile_id = ?", domicile ) if domicile.present?
  where("extract(month from due_date) = ?", due_date) if due_date.present?
  end
视图/公司/索引:

@companies.each do |c|
   = c.name
- if @companies.empty?
  %p No companies were found.

你能在文本中显示你的错误日志吗?如果你需要链接它,你应该创建
scope
filter,而不是创建filter作为方法。