Необходимо сохранить ответ httparty в БД и вызвать его в файле вида
вот что получает httrparty
в папке служб /
class ParserService
include HTTParty
API_KEY = '882e10dd2b474a23bb7a3efa85e66b61'.freeze
base_uri 'https://newsapi.org/v2/'
default_params fielsd: "title, description, ulr, content"
format :json
def self.top_headlines(country_name='us')
new(country_name).top_headlines
end
def initialize(country_name='us')
@options = { query: { country: country_name, apiKey: API_KEY} }
end
def top_headlines
response = self.class.get("/top-headlines", @options)
pars_json = response.parsed_response
pars_json["articles"].each do |k|
@source = ActiveModel::Source.create(google_id: k["id"], name: k["name"])
@article = Article.create(title: k["title"], source_id: @source.id,
description: k["description"], content: k["content"])
end
end
end
ArticleController
class ArticlesController < ApplicationController
def index
@articles = Article.all
end
end
и модель
class Article < ApplicationRecord
belongs_to :source, class_name: "Source", optional: true
validates :title, presence: true
validates :source_id, uniqueness: true
end
и schema.rb
Это то, что я сделал сейчас
если попытаться сохранить Статью в консоли (rails c), появится эта ошибка, проверка
при попытке комментирования проверки он сохраняет, но .... он сохраняет пустые поля
и я действительно не понимаю, почему это empy, когда я вызываю JSOn напрямую, без сохранения в db, при просмотре он показывает все, что мне нужно, но теперь у меня есть это ...
на странице указателя
и в консоли позже появились ошибки
Я могу представить, как это исправить и что и где не так