Создание цикла for X в Y возвращает все, что возвращается содержащимися в нем операторами

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

  •  08-07-2019
  •  | 
  •  

Вопрос

Следующее утверждение...

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top