Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3-尝试解析JSON并返回哈希_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails 3-尝试解析JSON并返回哈希

Ruby on rails Rails 3-尝试解析JSON并返回哈希,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在尝试创建一个简单的两页web应用程序,允许用户搜索单词,然后在新页面上显示它们的定义 问题是,在搜索单词时,我没有从模型文件中得到任何响应 我认为问题在于试图将JSON请求转换为散列,然后在视图中访问/显示散列(不确定如何进行) app/views/index.html.erb <%= form_tag("/search", method: "get") do %> <%= text_field_tag :search, params[:search], :cl

我正在尝试创建一个简单的两页web应用程序,允许用户搜索单词,然后在新页面上显示它们的定义

问题是,在搜索单词时,我没有从模型文件中得到任何响应

我认为问题在于试图将JSON请求转换为散列,然后在视图中访问/显示散列(不确定如何进行)


app/views/index.html.erb

<%= form_tag("/search", method: "get") do %>
    <%= text_field_tag :search, params[:search], :class => "search-form" %>    
    <%= submit_tag nil, :class => "search-glass", :src => "search-icon.png", :type => "image" %>
<% end %>
app/models/word.rb

class Word

require 'rubygems'
require 'json'

attr_accessor :search 

    def self.search(search)

        # Get back JSON response
        response = Wordnik.word.get_definitions(search)

        # Parse JSON to an array of hashes?
        hash_result = JSON.parse(response)

    end  

end

在搜索单个单词时,我得到以下错误():


非常感谢您的帮助

调用
Wordnik.word.get_definitions(search)
时,将返回一个哈希数组,而不是JSON字符串。删除该行:

hash_result = JSON.parse(response)

在Github上公开API密钥可能不是一个好主意。

响应的值是多少?很高兴看到这一点。
hash_result = JSON.parse(response)