Comment lancez-vous un & # 8220; faire & # 8221; bloquer dans un modèle Rails tout en listant une: dépendante?

StackOverflow https://stackoverflow.com/questions/282178

Question

Donc, j'ai un modèle d'utilisateur qui: has_many beaucoup d'autres modèles comme Documents, Vidéos, Posts et similaires. Ma question se pose lorsque j'exécute un "faire". bloquer du modèle utilisateur comme suit:

has_many :posts do
    def recent
      find(:all, :order => 'created_at desc', :limit => 12)
    end
  end

Ceci me permet simplement d’appeler quelque chose comme user.posts.recent pour rechercher uniquement les publications associées à l’utilisateur. Avec cela en place, comment puis-je toujours ajouter un: dépendant = > : détruire ou: dépendant = > : delete_all à cette association? Tout ce que j'ai essayé jusqu'ici s'est échappé de moi.

Était-ce utile?

La solution

Il semble que vous devriez utiliser named_scope .

Il n'y a aucune raison pour que vous ayez un blocage contre votre association.

Vous devez transformer cette méthode récente en une portée nommée et vous pouvez ensuite virer de bord: dépendante = > détruire etc. etc.

Bonne chance!

Autres conseils

Cela devrait fonctionner correctement, autant que je sache.

has_many :posts, :dependent => :destroy do
    def recent
      find(:all, :order => 'created_at desc', :limit => 12)
    end
  end
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top