我最近开始在 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_job和workless gems 而出现了故障。Workless 依赖于Rush,它有一个 'dir?' 方法。我仍然不知道为什么故障会出现在它的位置。