Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Effizientes Erstellen eines Feeds aus mehreren Schienenmodellen?

Was ich einmal gemacht habe, war, einen separaten Modell-Feed (feeds_controller) zu haben und ihn in After_save-Callbacks für alle interesting zu aktualisieren Modelle. Wenn Sie beispielsweise einen Modellartikel haben, verwenden Sie einen after_save-Callback:

def after_save
  feed = Feed.new
  feed[:model_name] = 'Article'
  feed[:item_id] = id
  feed.save
end

Anschließend können Sie wie bei jedem anderen Modell linear auf den Feed zugreifen. Der Rechenaufwand entsteht beim Speichern des Feeds, nicht beim Lesen aus dem Feed.

Oh, Sie können auch Feed has_many :article; has_many :user, has_many :status und so weiter, und dann :include all diese Ressourcen im Feed und rendern sie in Ansichten. Hoffe das macht Sinn;-)