【问题标题】:rake aborted! undefined method `empty?' for nil:NilClass耙中止!未定义的方法“空?”对于零:NilClass
【发布时间】:2015-12-28 10:42:59
【问题描述】:

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

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

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

rake 中止!未定义的方法“空?”对于零:NilClass /lib/tasks/:387:in `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 =>

如何解决此错误?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

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

    在这种情况下,最好的替代方法是 blank?,如果数组/字符串为空或 args.extra 为 nil,它将返回 true。

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

    这是来自here 的漂亮表格,显示了empty?blank? 等之间的差异。

    【讨论】:

    • 非常感谢 idmean。这个回复真的很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多