Fare in modo che un ciclo for X in Y restituisca tutto ciò che viene restituito dalle istruzioni che contiene
Domanda
La seguente dichiarazione ...
content_tag(:li, concept.title)
... restituisce qualcosa del tipo:
<li>"My big idea"</li>
La seguente definizione del metodo, quando viene chiamata, restituisce lo stesso:
def list_of_concepts(part)
content_tag(:li, concept.title)
end
Come fa ...
def list_of_concepts(part)
content_tag(:li, part.concepts.first.title)
end
Ma quanto segue ...
def list_of_concepts(part)
for concept in part.concepts
content_tag(:li, concept.title)
end
end
... mi dà solo un mucchio di segni di cancelletto (" #
") a mio avviso, come se restituisse vero o falso o un conteggio piuttosto che qualunque content_tag ritorna. Come posso restituire ciò che
content_tag
restituisce?
Grazie ancora
Steven.
Soluzione
il ciclo for non restituisce i tuoi dati, prova questo:
def list_of_concepts(part)
part.concepts.map { |c| content_tag(:li, c.title) }.join
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow