Создание цикла for X в Y возвращает все, что возвращается содержащимися в нем операторами
Вопрос
Следующее утверждение...
content_tag(:li, concept.title)
...возвращает что - то вроде:
<li>"My big idea"</li>
Следующее определение метода при вызове возвращает то же самое:
def list_of_concepts(part)
content_tag(:li, concept.title)
end
Как и делает...
def list_of_concepts(part)
content_tag(:li, part.concepts.first.title)
end
Но вот что...
def list_of_concepts(part)
for concept in part.concepts
content_tag(:li, concept.title)
end
end
...просто дает мне кучу знаков фунта стерлингов ("#
") на мой взгляд, как будто это возвращает true или false или количество, а не что-то еще content_tag
ВОЗВРАТ.Как я могу заставить его вернуть то, что content_tag
возвращается?
Еще раз спасибо,
Стивен.
Решение
цикл for не возвращает ваши данные, попробуйте это:
def list_of_concepts(part)
part.concepts.map { |c| content_tag(:li, c.title) }.join
end
Не связан с StackOverflow