#arrays #ruby-on-rails-3
#массивы #ruby-on-rails-3
Вопрос:
У меня есть цветы и цвета. Я установил отношение has_and_belongs_to_many.
Через консоль я могу сделать:
q=Flower.first
q.colors
=> [#<Color id: 1, name: "Red", hex_code: "#FF0000", created_at: "2011-10-01 19:59:26", updated_at: "2011-10-01 19:59:26">, #<Color id: 3, name: "Blue", hex_code: "#0000FF", created_at: "2011-10-01 19:59:26", updated_at: "2011-10-01 19:59:26">]
а также:
q.color_ids
=> [1, 3]
Как я могу вернуть возвращаемые имена цветов? Например: ["Red", "Blue"]
.
Ответ №1:
Это даст вам массив имен цветов:
q.colors.map(amp;:name)
Комментарии:
1. Большое спасибо. И как вывести красный, синий, зеленый, например, в представлении?
2. Что-то вроде
<%= q.colors.map(amp;:name).join(', ') %>
, если переменная в вашем представлении называетсяq