Rails 5: сохранение атрибутов JSON в базу данных - PullRequest
0 голосов
/ 11 февраля 2019

В настоящее время я следую учебному пособию по API с HTTParty.Все работает, и я счастлив, что узнал что-то новое.Как всегда, учебник оставляет меня открытым с некоторыми вопросами.

А пока я могу вызвать API встречи с запросом GET и извлечь все события встречи.JSON анализируется для моего просмотра, но теперь я хотел бы отобразить каждое событие отдельно, например:

<%= @events.each do |event| %>
 <%= event.name %>
 <%= event.date %>
 <%= event.organizator %>
<% end %>

Это моя модель:

class Meetup
  include HTTParty
  base_uri 'api.meetup.com'

  attr_reader :options

  def initialize
    api_key = ''
    @options = {
      query: {
        key: api_key,
        sign: "true",
        desc: "true",
        page: 3
      }
    }
  end

  def get_data
    self.class.get('/operation-code-hampton-roads/events', @options)
  end

  def events
    if get_data.code.to_i == 200
      get_data.parsed_response
    else
      raise "Error fetching data from Meetup API"
    end
  end
end

Мой контроллер:

class DashboardsController < ApplicationController
  before_action :authenticate_user!

def index
  @services = Service.all

respond_to do |format|
  @events = Meetup.new.events
  format.html
  format.json { render json: @events }
  end
end

end

Мой взгляд:

<%= @events.each do |event| %>
 <!-- event.name ? -->
<% end %>

1 Ответ

0 голосов
/ 11 февраля 2019

Так как я впервые работаю с JSON, я подумал, что будет сложнее отобразить @events на мой взгляд.

Но это довольно просто, и мне даже не нужно создавать новыйМиграция!

Я просто добавил это к своему представлению, и все работает!

<% @events.each do |event| %>
<%= event["name"] %>
<%= event["status"] %>
<%= event["local_date"] %>
<%= event["local_time"] %>
<%= event["yes_rsvp_count"] %>
<%= event["venue"]["city"] %>
<%= event["venue"]["address_1"] %>
<%= raw (event["description"]).truncate(100) %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...