В настоящее время я следую учебному пособию по 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 %>
Извините, я добавил неправильный заголовок. Я хотел бы сохранить объекты JSON в своей базе данных, а затем соответствующим образом сопоставить их. После этого я хотел бы отобразить их в моем представлении
Можете ли вы обновить свой вопрос с образцом ответа?





Поскольку я впервые работаю с 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 %>
В чем ваша настоящая проблема?