耙子流产了!未定义的方法`空?'为零:NilClass

时间:2015-12-28 10:42:59

标签: ruby-on-rails

我在这些任务中定义了一些rake任务;有一个代码如下

task :stale => :environment do |_, args|
    if args.extras.empty?

当我执行任务时;它会因以下错误而中止

  耙子流产了!未定义的方法`空?'为零:NilClass   / lib / tasks /:387:在`block(3 levels)in'   /vendor/bundle/ruby/2.2.0/gems/bugsnag-2.8.12/lib/bugsnag/rake.rb:12:in   `execute_with_bugsnag'任务:TOP =>

如何解决此错误?

1 个答案:

答案 0 :(得分:3)

NilClass根本没有名为empty?的方法,args.extras目前显然为零。

在这种情况下,最好的选择是blank?,如果数组/字符串为空或args.extra为零,则返回true。

task :stale => :environment do |_, args|
    if args.extras.blank?

以下是来自here的精美表格,显示了empty?blank?等之间的差异。