2014-10-17 3 views
0

Мне интересно, есть ли эффективный и элегантный способ «связать» объект activeresource с объектом activerecord.Как связать объект activeresource с активным «тем же» объектом?

Я устанавливаю платежную систему для своего приложения, она работает с API, который содержит таблицу пользователя, таблицу кошельков ... Я хочу хранить всю эту информацию в моей базе данных приложений. для например: - когда я создаю wallet_object_api_side, я хочу сохранить его в wallet_object_my_database - когда я обновляю wallet_object_api_side, я хочу, чтобы обновить wallet_object_my_database

wallet_object_api_side ДОЛЖЕН ВСЕГДА БЫТЬ РАВНО wallet_object_my_database

Есть элегантный способ сделать оба создания объекта api и сохранить его в моей базе данных в одном запросе?

спасибо.

ответ

0

Вы можете сделать это с помощью обратных вызовов Rails.

Но чем больше вопрос, почему вы пытаетесь это сделать? Опасно полагаться на репликацию удаленных данных локально и наоборот. Если API является окончательным источником данных, тогда вы должны перейти в API, когда вам нужны данные.

Что делать, если что-то изменилось в базе данных API; как ваше приложение узнает об этом и справится с этим?

+0

API оплаты является окончательным источником данных. Изменения в базе данных API строго зависят от вызовов приложений; поэтому я подумал, что нужно хранить все на месте. Единственная причина, по которой я хочу хранить локально данные, - это не загружать ресурсы API и локальный ресурс для подобных объектов (например: first_name запрашивается API для регистрации пользователя, у меня также есть в моей базе данных, потому что пользователи не всегда «api registred «.. как я могу с этим справиться?) А также я хотел избежать загрузки ресурса API каждый раз, когда обновляю страницу (это хороший способ?). Благодарим вас за рекомендации. –

+0

Я думаю, у вас здесь есть несколько вещей. Чтобы ответить на ваш первоначальный вопрос, используйте обратные вызовы. Но я не понимаю, почему вы разрабатываете архитектуру, которую вы имеете - вся суть API заключается в быстром и эффективном хранении и извлечении данных. Если он у вас есть, используйте его! –