dans Rails 3 J'utilise l'aide suivante afin d'obtenir une table de couleur pair-impair:Conversion Rails 3 Rails 2: aides avec des blocs
def bicolor_table(collection, classes = [], &block)
string = ""
even = 0
for item in collection
string << content_tag(:tr, :class => (((even % 2 == 0) ? "even " : "odd ") + classes.join(" "))) do
yield(item)
end
even = 1 - even
end
return string
end
et je l'utilise dans mon point de vue comme celui-ci:
<%= bicolor_table(services) do |service| %>
<td><%= image_tag service.area.small_image %></td>
<td><%= link_to service.title, service %></td>
<% end %>
maintenant, je dois migrer l'application Rails 2. le problème est Rails 2 ne pas utiliser erubis, alors quand il trouve un <% =% quelle que soit> balise, il appelle simplement whatever.to_s. Donc, dans mon cas, ce résultat en essayant d'exécuter
(bicolor_table(services) do |service|).to_s
Avec les conséquences évidentes (mauvaises). La question est: ai-je tort en principe (comme "les assistants ne devraient pas travailler de cette façon, utilisez plutôt ...") ou devrais-je chercher une solution de contournement?
Merci.
Ceci est un bon et moyen utile pour atteindre ce que je devais à cette occasion, mais je me demande si le passage des blocs d'aides est comportement acceptable. Merci pour votre réponse! :-) –