rails как отобразить массив в представлении с помощью has_and_belongs_to_many

#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