2016-05-06 13 views
1

Laut rolify gem Dokumentation. Dieser Edelstein fügt Ihrer Benutzerklasse die Methode rolify hinzu. Sie können auch optional Rückrufe auf der Benutzerklasse angeben, wann Rollen hinzugefügt oder entfernt werden:So fügen Sie mehrere Callbacks zu rolify gem hinzu

class User < ActiveRecord::Base 
    rolify :before_add => :before_add_method 

    def before_add_method(role) 
    # do something before it gets added 
    end 
end 

Die rolify Methode akzeptiert die folgenden Callback-Optionen:

before_add 
after_add 
before_remove 
after_remove 

Mongoid Rückrufe werden ebenfalls unterstützt und funktioniert auf die gleiche Weg.

, wenn ich mehrere Rückrufe fügen Sie rolify funktioniert nur für letzte meinen Code

class User < ActiveRecord::Base 
    rolify :before_add => :before_add_method 
    rolify :before_remove => :before_remove_method 

    private 

    def before_add_method(role) 
    #to do 
    end 
    def before_remove_method(role) 
    #to do 
    end 
end 

nur before_remove_method Methode aufgerufen. Irgendwelche Vorschläge, wie wir mehrere Callbacks zu rolify gem hinzufügen können?

Antwort

6

ich fand die Lösung. tatsächlich müssen wir jeden Callbacks getrennt durch, wie unter

rolify :before_add => :before_add_method, :before_remove => :before_remove_method 
übergeben
Verwandte Themen