ruby-on-rails – Ruby – NoMethodError(nil的未定义方法:NilC
发布时间:2020-12-16 21:02:17 所属栏目:百科 来源:网络整理
导读:我在弄清楚我做错了什么时遇到了一些困难.我的ActiveRecord查询返回nil,我认为这会导致引发NoMethodError. 这就是我所拥有的: @number_exclude_list = ["1234567890","2223334545"] @available_number = UserNumber.where.not(:user_num = @number_exclude_
我在弄清楚我做错了什么时遇到了一些困难.我的ActiveRecord查询返回nil,我认为这会导致引发NoMethodError.
这就是我所拥有的: @number_exclude_list = ["1234567890","2223334545"] @available_number = UserNumber.where.not(:user_num => @number_exclude_list) 返回一组空行: => #<ActiveRecord::Relation []> 那么,我有: if (@available_number.empty?) inform_user_empty else do_my_other_function 但是,我得到: `NoMethodError (undefined method 'inform_user_empty' for nil:NilClass)` 我试过了:@ available_number.blank?和`@ available_number.nil? 我仍然得到相同的NoMethodError.我在这里做错了什么想法? 解决方法
异常文本NoMethodError(未定义的方法’inform_user_empty’代表nil:NilClass)说这是对nil class’es实例的实例方法#inform_user_empty的调用,并且由于nil没有实例方法
ruby解释器抛出该异常.我看到了它的两个主要原因:
> self关键字变量有nil值,我相信不是原因,因为你从控制器做一个调用,就像你说的ApplicationController一样.要确保self不是nil,请将代码更改为以下代码: if @available_number.empty? p self self.inform_user_empty 重新运行该动作,并查看结果.>异常已从另一个地方抛出.因此,您必须在帖子中指定完整的跟踪日志. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |