Comment une méthode auxiliaire cède-t-elle à un bloc dans les rails 3?
J'ai utilisé ce modèle pour un certain nombre d'aides dans les rails 2, mais ce n'est pas le même dans rails 3. Mon but est d'avoir une méthode d'assistance à générer des balises html avec le contenu imbriqué à l'intérieur. Voici un exemple de base de ce que j'essaie de faire:
<div class="box">
my content
</div>
Dans les rails 2 je fais comme ça:
à l'intérieur de mon fichier de layout que j'appelle la méthode d'assistance:
<% box_wrapper do %>
<%= yield -%>
<% end %>
L'aide de la méthode est définie comme ceci:
def box_wrapper
concat <<-EOF.html_safe
<div class="box">
EOF
yield if block_given?
concat <<-EOF.html_safe
</div>
EOF
end
Mais dans rails 3, lorsque la vue est rendue sorties de l'ensemble de ma page et ensuite à l'intérieur de la box_wrapper
il rend tout le contenu de la page une 2ème fois.
Je pense que je suis absent quelque chose d'évident avec l'utilisation des aides et des rendements. Des idées?
source d'informationauteur nimblegorilla
Vous devez vous connecter pour publier un commentaire.
Dans Rails 3, vous n'avez plus besoin d'utiliser le
concat
méthode pour construire le contenu de vos blocs.Votre assistant ressemble maintenant à ceci:
Vous pouvez voir d'autres exemples dans Railscasts 208.