2015-10-05 3 views
-3

я сгенерировал следующее с помощью ключевых слов извлечения API Как поместить «текст» в базу данных?

x=[{"relevance"=>"0.592174", "text"=>"eight-year-old Hitler"}, {"relevance"=>"0.589796", "text"=>"Hitler states"}, {"relevance"=>"0.589118", "text"=>"Hitler lived."}, {"relevance"=>"0.585102", "text"=>"Hitler learnt"}, {"relevance"=>"0.580278", "text"=>"Hitler Youth"}, {"relevance"=>"0.414842", "text"=>"German Workers"}, {"relevance"=>"0.413532", "text"=>"German military leaders"}, {"relevance"=>"0.404701", "text"=>"nazi party"}, {"relevance"=>"0.391943", "text"=>"Mein Kampf"}, {"relevance"=>"0.388932", "text"=>"Reichstag"}, ] 

Так база данных должна иметь (я искал «Гитлера», потому что никто не пытается продать вам вещи, когда вы ищете для него.):

Eight-year-old hitler 
Hitler states 
... 

Я попытался x.each do |x| и

x.to_a.each do 
x["text"] 
x 

Ни одна из которых работы.

ответ

0

Поскольку вы не дали следующую информацию, я буду делать некоторые предположения:

  • имя таблицы базы данных
  • схемы для таблицы
  • Название модели
  • ORM

Давайте переименуем x в search_results. Давайте также предположим, что у нас есть таблица в базе данных под названием search_results, модель под названием SearchResult, что search_results таблица содержит столбец с именем text, и что мы используем ActiveRecord как ОРМ:

search_results.each do |data| 
    SearchResult.create(text: data[:text]) 
end 

Или, так как у вас есть массив хешей, просто:

SearchResult.create(search_results)