1

我最近开始在 Cucumber 测试中看到一个奇怪的错误。不幸的是,我无法追溯到引入它的时间。

沿线的不同地方有许多错误

undefined method `dir?' for #<Order:0x000000098447f8> (NoMethodError)

我在代码中的任何地方都没有(也没有)名为“dir”的方法?

任何想法可能会调用它以及如何解决这个问题?

更新。正常查看页面时,代码失败并显示相同的消息。代码是:

def index
  search = {"meta_sort" => "id.desc"}.merge(params[:search] || {})
  @search = @company.orders.search(search)
  @orders = @search.paginate(:page => params[:page], :per_page => 20).includes(:premise).includes(:address)
end

其他地方的一些几乎相同的代码可以正常工作。

def index
  @search = @company.users.shoppers.search(params[:search])
  @customers = @search.paginate :page => params[:page], :per_page => 20
end

我尝试更改非工作代码以模仿工作代码,但这没有任何区别。搜索方法由我们愉快地使用了一段时间的元搜索 gem 提供。

更新 2:

似乎是由于引入了delayed_jobworkless gems 而出现了故障。Workless 依赖于Rush,它有一个 'dir?' 方法。我仍然不知道为什么故障会出现在它的位置。

4

1 回答 1

1

这是 Rush 中定义的搜索方法的名称冲突并使用目录?使用 meta_search gem 搜索方法

使用metasearch方法而不是使用 meta_search进行搜索

于 2012-08-24T08:51:13.033 回答