Faire une boucle for X in Y retourner ce qui est retourné par les instructions qu'elle contient

StackOverflow https://stackoverflow.com/questions/1438632

  •  08-07-2019
  •  | 
  •  

Question

La déclaration suivante ...

content_tag(:li, concept.title)

... renvoie quelque chose comme:

<li>"My big idea"</li>

La définition de méthode suivante, lorsqu'elle est appelée, renvoie le même résultat:

def list_of_concepts(part)
 content_tag(:li, concept.title)
end 

Comme c'est le cas ...

def list_of_concepts(part)
 content_tag(:li, part.concepts.first.title)
end  

Mais ce qui suit ...

def list_of_concepts(part)
  for concept in part.concepts
    content_tag(:li, concept.title)
  end
end  

... me donne simplement un tas de signes dièse (" # ") à mon avis, comme si elle renvoyait la valeur true ou false ou un compte, plutôt que ce que content_tag retourne. Comment puis-je lui faire renvoyer ce que content_tag renvoie?

Merci encore,

Steven.

Était-ce utile?

La solution

la boucle for ne renvoie pas vos données, essayez ceci:

def list_of_concepts(part)
  part.concepts.map { |c| content_tag(:li, c.title) }.join
end
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top