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ď č. 1Keď 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.