0
我的应用程序包含一个表单,您可以通过它输入一个单词,提交,然后控制器将创建一个Word
对象与单词本身,以及通过API从JSON获取的定义和示例。当对象不是零时,NoMethodError(未定义方法`[]'为零:NilClass)
这是冲突行:
def create
@word = Word.new(word_params)
url = "http://api.pearson.com/v2/dictionaries/entries?headword=#{@word.word_name}"
Rails.logger.info url
uri = URI(url)
Rails.logger.info uri
response = Net::HTTP.get(uri)
Rails.logger.info response
result = ActiveSupport::JSON.decode(response)
Rails.logger.info result
@word.definition = result[0]["results"][0]["senses"][0]["definition"][0]
@word.example = result[0]["results"][0]["senses"][0]["translation"][0]["example"][0]["text"]
@word.save
redirect_to @word
end
这里来的错误行:
@word.definition = result[0]["results"][0]["senses"][0]["definition"][0]
FATAL -- :NoMethodError (undefined method `[]' for nil:NilClass):
所以我认为result
是nil
。所以我登出了,但结果与预期完全一样as shown in this image
我还能试试吗?