2010-09-04 3 views
0

Je me demande s'il est raisonnable d'ajouter du code d'application à l'intérieur du bloc passé à format.xxx à l'intérieur de respond_to? Par exemple, rails générateur de code nous donne quelque chose comme:Contrôleurs Rails, est-il possible d'ajouter du code d'application à l'intérieur du bloc de format respond_to?

@object = Object.new 
... 
... several lines of other app code ... 
... 
respond_to do |format| 
format.xml {render :xml => @object} 
end 

Mais, si je place quelque chose comme ça:

respond_to do |format| 
format.xml { 
    @object = Object.new 
    ... 
    ... several lines of other app code ... 
    ... 
    render :xml => @object 
} 
end 

Y at-il « mauvais » ou l'insécurité de cette approche? Notez que votre opinion ne vous intéresse pas, que vous le fassiez de cette façon, je ne souhaite savoir s'il y a des inconvénients ou des risques de sécurité, etc.

Répondre

2

Je n'ai pas travaillé avec Rails depuis si longtemps, mais je ne vois aucune raison de ne pas mettre de code à l'intérieur du bloc. En supposant que vous avez plusieurs formats auxquels vous répondez, je dirais mettre tout code commun à plus d'un format en dehors du bloc et mettre quelque chose de spécifique à ce format dans le bloc.

Par exemple

@object = Object.new 

respond_to do |format| 
    format.html { 
    @html_settings = {} 
    } 
    format.xml { 
    @xml_settings = {} 
    } 
} 

Si vous ne répondre à un format alors il ne devrait pas question où il va.

Questions connexes