/ / Rails 3 - Pokúšam sa analyzovať JSON a vrátiť hash - ruby-on-rails, ruby-on-rails-3

Rails 3 - Snažia sa analyzovať JSON a vrátiť hash - rubínovo na koľajniciach, rubínovo-na-koľajniciach-3

Snažím sa vytvoriť jednoduchú dvojstránkovú webovú aplikáciu, ktorá umožňuje používateľom vyhľadávať slová a potom zobrazovať ich definície na novej stránke.

Problém je v tom, že pri hľadaní slova nedostávam zo svojho modelového súboru žiadnu odpoveď.

Myslím, že problém sa pokúša previesť žiadosť JSON na hash a potom prístup / zobraziť hash v pohľade (nie je si istý, ako na to).


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 / radiče / words_controller.rb

def search
@word = Word.search(params[:search])
render layout: "application", template: "words/index"
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

Pri hľadaní jediného slova sa zobrazuje nasledujúca chyba (screenshot):

Akákoľvek pomoc je veľmi cenená.

odpovede:

1 pre odpoveď č. 1

Keď zavoláte Wordnik.word.get_definitions(search), vráti sa pole Hashes, nie reťazec JSON. Odstráňte riadok:

hash_result = JSON.parse(response)

Verejné sprístupnenie vášho kľúča API v službe Github pravdepodobne tiež nie je dobrý nápad.