Попробуйте это
analytics_pages = AnalyticsPage.joins(:users).pluck('users.first_name,users.last_name')
В качестве альтернативы, если поля first_name
и last_name
однозначны, т. Е. В модели AnalyticsPage нет полей с одинаковыми именами, то следующее также должно работать
analytics_pages = AnalyticsPage.joins(:users).pluck([:first_name, :last_name])
Редактировать 1:
Если вам также необходимо извлечь данные из модели AnalyticsPages, вот способ go
analytics_pages = AnalyticsPage.joins(:users).pluck('users.first_name,users.last_name, analytics_pages.field1,analytics_pages.field2')
опять же, если поля однозначны, должно работать следующее
AnalyticsPage.joins(:users).pluck(:user_field_1, :analytics_pages_field_1)
Ключ должен думать о ModelA.joins (: model_b) как о единой таблице. в этой таблице однозначные поля являются именами, какими они были в исходных таблицах, а неоднозначные поля именуются с префиксом table_name.
.
Редактировать 2:
Даже select
будет работать вместо pluck, разница в том, что пока select
возвращает массив объектов ActiveRecord, pluck возвращает массив полей.