У меня есть select_tag, подобный этому:
<%= select_tag "User Groups", options_from_collection_for_select(@user_groups, "id", "name") %>
Вот моя модель
class Entity < ActiveRecord::Base
has_many :user_groups
end
class UserGroup < ActiveRecord::Base
belongs_to :entity
end
Предостережение заключается в том, что для модели UserGroup нет атрибута с именем "name", но есть один для модели Entity.
В идеале я хотел бы передать значения из атрибута "name" в модели Entity в метод options_from_collection_for_select () ... примерно так:
<%= select_tag "User Groups", options_from_collection_for_select(@user_groups, "id", @user_groups.each{|user_group| user_group.entity.name}) %>
Но тогда я получаю что-то вроде этого:
[#<UserGroup id: 1, entity_id: 3, created_at: "2012-03-15 02:36:28", updated_at: "2012-03-15 02:36:28">, #<UserGroup id: 2, entity_id: 4, created_at: "2012-03-15 02:42:36", updated_at: "2012-03-15 02:42:36">] is not a symbol
Есть ли способ, которым я могу использовать options_from_collection_for_select () и передать значение из вложенного атрибута в качестве текста опции?