Я не уверен, что вы используете, но, возможно, вы можете использовать удивительно магические методы include_
! Они самые крутые!
class ProjectSerializer < ActiveModel::Serializer
attributes :id, :title
def include_title?
object.title.present?
end
end
Если object.title.present?
является true
, то атрибут title
будет возвращен сериализатором. Если это false
, атрибут title
будет вообще оставлен. Имейте в виду, что метод include_
поставляется с его собственной специфической функциональностью и делает все автоматически. Его нельзя вызывать в другом месте в сериализаторе.
Если вам нужно позвонить методу, вы можете создать свой собственный «локальный» метод, который вы можете использовать в сериализаторе.
class ProjectSerializer < ActiveModel::Serializer
attributes :id, :title
def title?
object.title.present?
end
end
Опять же, точно не знаю, какие функции вы ищете, но, надеюсь, это поможет вам идти в правильном направлении.