Большинство помощников Rails предполагают, что вы просто собираетесь обновить определенный раздел на странице.Самый простой и наименее эффективный способ сделать это - расширить область действия «конкретного раздела», включив в него как элементы представления для A-записей, так и B-записей.(Как вы можете упомянуть, это может быть вся страница).
Повышение эффективности, вероятно, повлечет за собой и большую сложность.Я бы сказал, что это верно и для моего ответа.
Моя непосредственная мысль здесь - это общий механизм событий.Как правило, вы выполняете вызов AJAX для обновления, как обычно, и ответ содержит несколько возвращаемых значений, которые содержат обновления для определенных записей A или B.Например:
{ "A": [
{ "id": 23, "content": "<span>name:</span> Apples" },
{ "id": 52, "content": "<span>name:</span> Oranges" }
],
"B": [
{ "id": 10, "content": "<span>name:</span> Fruits" }
]
}
Затем AJAX вызывает обновления как для A, так и для B-записей, а их ответы обрабатываются с помощью single JavaScript-функции.Эта единственная функция затем отправляет обновление в отдельные компоненты представления, которые вы хотите.Думайте об этом как о простом обработчике событий.
Самый простой способ реализовать это, вероятно, состоит в том, чтобы каждый компонент представления регистрировал себя с помощью функции 'update' при загрузке страницы.Затем ваш обработчик событий вызывает все это с помощью объекта JSON.Затем функции обновления получают то, что им нужно, обновляют конкретные элементы, которыми они управляют, и все готово.