Я не был уверен, как сформулировать это в заголовке, но я пытаюсь сделать следующее. У меня есть 2 модели, которые имеют следующие отношения:
class Campaign < ActiveRecord::Base
has_many :points
end
class Point < ActiveRecord::Base
belongs_to :campaign
end
Теперь модель Point имеет атрибут "locale", и я хочу иметь возможность помещать все "locales" каждой точки определенной кампании в массив, коллекцию или что-либо еще без необходимости делать что-то вроде
locales = Array.new
campaign.points.each do |p|
locales << p.locale
end
Я думал о чем-то вроде campaign.points.locales
. Есть ли какой-нибудь хороший Rails способ выполнить этот запрос, или мне просто нужно перебрать коллекцию?
Спасибо за любую помощь.
РЕДАКТИРОВАТЬ: Кроме того, поскольку отношение на самом деле является отношением "has_many through", этот метод не работает, так как я получаю много повторяющихся локалей, если пытаюсь повторить этот простой способ. Похоже, это должно быть какое-то соединение, но я не уверен.