Existe-t-il un moyen pratique de passer des paramètres aux méthodes mixtes?Ruby Mixins et variables d'instance
La classe utilisant mixin peut définir des variables d'instance auxquelles les méthodes mixtes s'attendent, ou transmettre tous les paramètres nécessaires en tant qu'arguments aux méthodes mixtes. En arrière-plan, nous avons un contrôleur Rails qui publie du contenu, mais d'autres contrôleurs et même des modèles doivent pouvoir "agir en tant qu'éditeurs", donc je factorise les méthodes des contrôleurs dans un module que je Mélanger au besoin.
Ici, par exemple, est le code d'un contrôleur Rails qui doit « agir comme éditeur » et il appelle un mixte dans la méthode question_xhtml() ...
def preview
@person = Person.find params[:id]
@group = Group.find params[:parent_id]
@div = Division.find params[:div_id]
@format = 'xhtml'
@current_login = current_login
xhtml = person_xhtml() # CALL TO MIXED-IN METHOD
render :layout => false
end
En fin de compte question_xhtml a besoin de tout ce genre de choses ! Cette approche est-elle raisonnable ou serait-elle préférable?
def preview
person = Person.find params[:id]
group = Group.find params[:parent_id]
div = Division.find params[:div_id]
format = 'xhtml'
xhtml = person_xhtml(person, group, div, format) # CALL TO MIXED-IN METHOD
render :layout => false
end
... ou autre chose?
Pouvez-vous donner un exemple des méthodes utilisées et des paramètres dont elles ont besoin? – mikej