2013-04-06 2 views
0

Si jeComment puis-je lancer un rappel sur le modèle A quand l'objet sur le modèle B est modifié

Class A 
has_many :b 

after_save :run_method 

protected 
def update_expiration 
    // 
end 

Class B 
belongs_to :a 

Lorsqu'un objet en B est mis à jour nécessaires pour exécuter une mise à jour sur A pour changer une date d'expiration. Le problème est que la méthode sur A est protégée, donc je ne peux pas l'appeler à partir d'un rappel à l'intérieur B. Je veux juste: update_expiration à exécuter quand un changement est fait pour B.

Répondre

0
class A 
    has_many :b 

    after_save :run_method 
    B.after_save :update_expiration 

    protected 

    def update_expiration 
     # ... 
    end 
end 
+0

Qu'est-ce qu'il y a à expliquer? J'ai changé une ligne qui est explicite. –

+0

Cela n'a pas fonctionné. Résultats dans une variable locale non définie ou dans la méthode 'update_expiration ' – ajaxon

Questions connexes