Rails разделяет элементы массива запятой внутри
Каков самый элегантный способ в Rails создать разделенный запятыми список внутри партиала?
Я только недавно обнаружил, что вы можете использовать партиалы для перебора коллекции, отправленной из другого шаблона представления. Итак, в представлении шаблона у меня есть:
<% render @dvd.director %>
Затем в /view/directors/_director.html.erb:
<%= director.director %>
Это на самом деле делает что-то вроде:
@dvd.director.each { |d| puts d.director }
Теперь я знаю, что могу использовать .join так:
<% @dvd.director.map { |t| t.director }.join(", ") %>
Но поскольку частичное уже проходит по каждой записи в массиве, как я могу правильно разделить списки и не иметь последний (или единственный) с уродливой запятой в конце?
У многих записей будет только один директор, я просто хочу отделить те, которые имеют более одного, правильно. Я знаю, что могу сделать все это вручную (используя обычный, не повторяющийся фрагмент и сам создавая цикл .each), но я пытаюсь сделать это и изучить способ Rails.
Благодарю.
редактировать
Чтобы попытаться объяснить немного лучше, @ dvd.director возвращает объект ActiveRelation следующим образом:
[#<Director id: 13, director: "Andrew Stanton">, #<Director id: 14, director: "Lee Unkrich">]
Так что я не могу просто сделать@dvd.director.join(', ')
Есть ли другой способ получить эти данные, кроме
@dvd.director.each { |dir| dir.director }
Потому что там у меня та же проблема, я должен посчитать их или убедиться, что это не последний элемент, прежде чем ставить запятую между ними, или извлечь только имена директоров и поместить их в строку или что-то в этом роде. Если бы я мог присоединиться, это было бы здорово.