-1
我在標記的行上得到錯誤undefined method '[]' for nil:NilClass
。記錄器顯示hash
不是零。看來我不會將這種方法稱作該行中的其他方法。我在這裏錯過了什麼?Ruby變量似乎爲零,但不是零
def initialize(hash)
Rails.logger.debug "Attr init hash: #{hash.inspect}, nil?: #{hash.nil?}"
self.name = hash[:name] #error here
self.type = hash[:type]
self.default_value = hash[:default_value]
self.original_name = if hash[:original_name]
hash[:original_name]
else
name
end
end
這是記錄器的輸出:
Attr init asdasd: {:name=>"join_id.alma", :type=>"", :default_value=>"", :original_name=>nil}, nil?: false
你能展現'hash'的價值? – HashRocket
我添加了記錄器輸出的行。 – laci37
你可以打印哈希class.name只是爲了確保這是一個散列,而不是其他任何具有相同或相似格式的東西? – tbem