Как реализовать автоматическое отражение прямых обновлений SQL базовой базы данных в ActiveRecord в Ruby on Rails? - PullRequest
0 голосов
/ 25 декабря 2010

Я новичок в Ruby on Rails, и у меня возник вопрос (возможно, наивный): я хочу реализовать отражение прямых обновлений SQL базовой базы данных в ActiveRecord (и, наконец, в сгенерированном html).Под «прямыми обновлениями» я подразумеваю обновление базы данных в обход методов ActiveRecord, например, с помощью консоли MySQL.Я предполагаю, что здесь можно использовать триггеры MySQL, которые вызовут некоторую хранимую процедуру, которая приведет к перезагрузке соответствующего ActiveRecord.

Есть ли автоматическая обработка этого сценария в ActiveRecord / Ruby on Rails?Кто-то реализовал этот сценарий?Кто-нибудь может порекомендовать использовать другие инфраструктуры MVC для отражения прямых изменений в отображаемых базах данных?

1 Ответ

0 голосов
/ 26 декабря 2010

Я думаю, что лучшим решением является использование в браузере подпрограммы AJAX, которая периодически проверяет отметку времени «last_updated» в приложении.

Приложение также будет иметь периодическую подпрограмму, которая может каким-либо образом определять, изменилась ли база данных, либо просматривая таблицу-запись, которая сообщает, когда в последний раз таблица обновлялась, либо запрашивая у базы максимальную временную метку. для столбца "updated_at". Если приложение видит, что все изменилось, оно загружает новую информацию и кэширует ее для запросов от браузеров. Если приложение сообщает браузеру, что что-то изменилось, последующим запросом браузера будет обновление измененной информации на странице.

Вы не хотите, чтобы браузеры пользователя инициировали обращения к базе данных, поэтому они запрашивают приложение Rails. Приложение rails не хочет делать это по требованию браузеров; Он действует как ограничитель / узкое место.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...