Попытка отобразить список контактов из API, используя драгоценный камень, но может получить только несколько полей для отображения
Я пытаюсь отобразить список всех контактов из HubSpot API ( https://developers.hubspot.com/docs/methods/contacts/get_contacts) в таблице. Я использую камень https://github.com/adimichele/hubspot-ruby который был в основном полезен. Мне удалось получить большую часть информации для отображения с помощью следующего кода:
<div class ="container-fluid text-center">
<div class="row">
<h1>Contacts</h1>
</div>
<br />
<table class="table">
<thead>
<tr>
<th scope="col">First Name</th>
<th scope="col">Last Name</th>
<th scope="col">Company</th>
<th scope="col">Email</th>
</tr>
</thead>
<tbody>
<%
(Hubspot::Contact.all).each do |contact|
info = contact.properties
%>
<%= info %>
<tr>
<th scope="row"><%= info[:firstname] %></th>
<th scope="row"><%= info[:lastname] %></th>
<th scope="row"><%= info[:company] %></th>
</tr>
<% end %>
</tbody>
</table>
Однако по умолчанию драгоценный камень отображает только 3 свойства для контакта. Хотя HubSpot API отправляет больше, например, электронную почту, у меня возникают проблемы с выбором и выбором свойств, которые я хочу. Мне удалось самостоятельно выбрать свойство электронной почты:
<tbody>
<%
( Hubspot::Contact.all({ property: 'email' }) ).each do |contact|
info = contact.properties
%>
<%= info %>
<tr>
<th scope="row"><%= info[:firstname] %></th>
<th scope="row"><%= info[:lastname] %></th>
<th scope="row"><%= info[:company] %></th>
<th scope="row"><%= info[:email] %></th>
</tr>
<% end %>
</tbody>
Но тогда я не могу понять, как добавить еще на электронную почту. Например, я получаю синтаксические ошибки:
( Hubspot::Contact.all({ property: 'email', 'firstname' }) ).each do
а также
( Hubspot::Contact.all({ property: 'email'})({ property: 'firstname'}) ).each do
Я подумал о том, чтобы списать все это и начать с новой драгоценности. Но единственный другой, который выглядит заслуживающим своего ожидания ( https://github.com/HubSpot/rHAPI), не будет установлен должным образом. Поэтому я пытаюсь заставить это первое решение работать.
Спасибо за любую помощь. Я учу себя и никогда не публиковал здесь раньше. Я очень нервничаю, чтобы публиковать здесь сообщения, поэтому любая обратная связь по этому вопросу или мой код в целом будут означать для меня мир.
2 ответа
Вы можете попробовать:
Hubspot::Contact.all.each do |contact|
Затем вы захватываете весь объект и можете получить куски, необходимые для построения таблицы, при условии, что нужные вам ключи находятся в объекте, возвращаемом из Hubspot.
Я не знаком с этим драгоценным камнем, но отбрасывание значений не похоже на обычную вещь. Если ключ недоступен в.all.each, он вряд ли будет доступен с использованием фильтров.
Я быстро взглянул на библиотеку драгоценного камня и не увидел ничего, что могло бы сказать мне, что оно отбросит данные.