Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Criando um feed de vários modelos de trilhos, com eficiência?


O que eu fiz uma vez foi ter um feed de modelo separado (feeds_controller) e atualizá-lo em callbacks after_save para todos os interesting modelos. Então, por exemplo, se você tiver um artigo modelo, tenha um retorno de chamada after_save:
def after_save
  feed = Feed.new
  feed[:model_name] = 'Article'
  feed[:item_id] = id
  feed.save
end

então, você pode acessar o feed linearmente como qualquer outro modelo. A despesa computacional é incorrida ao salvar o feed, não ao ler o feed.

Ah, você também pode ter Feed has_many :article; has_many :user, has_many :status e assim por diante, e então :include todos esses recursos no feed e os renderize em visualizações. Espero que isso faça sentido;-)