Почему .each повторяет массив после завершения в моем представлении rails?

На моей странице просмотра рельсов у меня есть следующий цикл, который должен проходить через мой массив tag_list и печатать каждый тег:

<%= @user.profile.tag_list.each do |tag| %>
    <%= tag %>
<% end %>

По какой-то причине он повторяет массив после печати каждого отдельного тега. Например, этот массив состоит из двух элементов:

["ruby", "python"]

Вывод каждого метода: «rubypython ruby, python». Вывод должен быть просто «ruby python». Как это исправить?

Кстати, для создания тегов я использую гем «действует как тег», но это не должно иметь значения, поскольку это всего лишь простой массив.


person Philip7899    schedule 11.11.2013    source источник


Ответы (1)


надо убрать знак равенства

<%= @user.profile.tag_list.each do |tag| %>

to

<% @user.profile.tag_list.each do |tag| %>

встроенный рубин печатает каждый ваш блок после его запуска, поэтому вы получаете результаты запуска .each, а также tag

person dax    schedule 11.11.2013
comment
Большое спасибо. Не могу поверить, что это было так просто. - person Philip7899; 11.11.2013