У меня есть поток данных о цене веб-сокета в мое приложение API для рельсов, которое я хочу обновлять, чтобы любые запросы API получали обновленный ответ. Было бы слишком дорого сохранять каждое обновление в базе данных. Как я могу это сделать? В Ember я могу изменить модель, и она сохраняется. Кажется, в рельсах этого не происходит.
Контроллер канала:
def receive(message)
#ActionCable.server.broadcast('channel', message)
platform = Platform.find(params[:id]);
market = platform.markets.find_by market_name: message["market_name"]
market.attributes = {
market.price = message.values["price"],
etc......
}
#market.save [this is too expensive every time]
end
Правильно ли я об этом говорю? Также кажется неэффективным использовать find каждый раз, когда я хочу обновить, что может происходить несколько раз в секунду. В Ember я создал массив поиска идентификаторов записей, чтобы быстро сопоставить market_name, я не понимаю, как это сделать в рельсах.