2017-07-17 15 views
2

je l'aide de rails suivants:Helper ne montrant rien

def prefixes_with_tip shops 
    capture do 
     shops.each do |s| 
     content_tag(:span,class: 'has-tip',title: s.name) do 
      concat s.prefix 
      Rails.logger.debug "TEST TEST TEST #{s.name} TEST TEST TEST TEST TEST TEST TEST " 
     end 
     end 
    end 
    end 

appel:

=prefixes_with_tip shop_list 

Quand il est appelé dans une vue, je peux voir les traces dans la console, mais il n'y a sortie dans la vue.

Quel est le problème avec cette aide?

(Rails 4.2)

Répondre

2

Le problème est de savoir comment concat est utilisé, essayez d'utiliser en dehorscontent_tag, comme ceci:

def prefixes_with_tip shops 
    capture do 
    shops.each do |s| 
     concat content_tag(:span, s.prefix, class: 'has-tip',title: s.name) 
    end 
    end 
end 

Notez que le bloc a été enlevé (autrement concat won 't travail) et ajouté s.prefix comme deuxième paramètre (qui définit le contenu de l'étiquette ).

+0

Imaginons que je voulais recommencer à itérer à l'intérieur du tag p. Comment ferais-je cela? – Syl

+0

En d'autres termes, chaque élément ('s') devrait être dans un' span' à l'intérieur d'un 'p'? Par exemple: '

s.prefixe

'. Certaines sorties comme ça? – Gerry