내가 잘못하고있는 것을 파악하는 데 어려움이 있습니다. 내 ActiveRecord
쿼리가 NoMethodError
이 발생한다고 생각하는 nil
을 반환합니다. 여기 Ruby - NoMethodError (nil 클래스에 대해 정의되지 않은 메서드) :
@number_exclude_list = ["1234567890", "2223334545"]
@available_number = UserNumber.where.not(:user_num => @number_exclude_list)
: 내가 얻을
if (@available_number.empty?)
inform_user_empty
else
do_my_other_function
을 :하지만
=> #<ActiveRecord::Relation []>
그래서를, 그때가
`NoMethodError (undefined method 'inform_user_empty' for nil:NilClass)`
@available_number.blank?
및
`@available_number.nil?
그리고 난 여전히 같은 NoMethodError
를 얻을 수 : 10
나는 노력했다. 내가 여기서 잘못하고있는 것에 대한 아이디어가 있습니까?
나는이 예외가'inform_user_empty'가 아니라고 믿습니다 : 당신이'self.inform_user_empty'를 호출했기 때문에'self'' nil'입니까? –
나는 당신의 의견을 이해하지 못하지만,'inform_user_empty' 함수는'application_controller.rb'에 있습니다. – Dodinas
네, 오류가 있습니다 :'undefined method 'inform_user_empty'for nil : NilClass' 즉,이 호출은'nil.inform_user_empty'이지만'inform_user_empty' 함수는'application_controller.rb'에 있습니다. 그럴 수는 없습니다. 'inform_user_empty'를'self.inform_user_empty'로 대체하십시오. 전에'p self '를 삽입하고 다시 시도하십시오. –