Вы можете использовать блок с has_many, чтобы расширить связь с методами. См. Комментарий «Используйте блок для расширения ваших ассоциаций» here.
class Post < ActiveRecord::Base
has_many :comments do
def plucked()
select("id, title")
end
end
end
или другой подход, с той же ссылкой может быть, есть свой собственный запрос SQL при выборке comments
из базы данных:
has_many :comments, :class_name => 'Comment', :finder_sql => %q(
SELECT id, title
FROM comments
WHERE post_id = #{id}
)
В рельсах documentation, это показывает, есть вариант :select
, которые также могут быть использованы для этой цели.
Разве это не так, как устанавливать атрибуты в комментариях сериализатора? Я хочу использовать pluck для связанных комментариев, потому что это быстрее, чем с активной сериализацией записей объекта комментариев. –
Можете ли вы указать, какова ваша конечная цель, чего вы хотите достичь здесь, указав пример. – Saurabh
Целью является получение связанных объектов с помощью родителя. В этом случае вы получите комментарии к сообщению. Но так как есть много комментариев, постарайтесь сделать запрос как можно быстрее, используя pluck для связанных комментариев в сериализаторе. –