Mysql
 sql >> Base de données >  >> RDS >> Mysql

Créer efficacement un flux à partir de plusieurs modèles de rails ?

Ce que j'ai fait une fois était d'avoir un modèle de flux séparé (feeds_controller) et de le mettre à jour dans les rappels after_save à tous les interesting des modèles. Ainsi, par exemple, si vous avez un modèle d'article, ayez un rappel after_save :

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

ensuite, vous pouvez accéder au flux de manière linéaire comme n'importe quel autre modèle. Les dépenses de calcul sont engagées lors de l'enregistrement du flux, et non de la lecture du flux.

Oh, vous pouvez aussi avoir Feed has_many :article; has_many :user, has_many :status et ainsi de suite, puis :include toutes ces ressources dans le flux et affichez-les dans des vues. J'espère que cela a du sens;-)