class ProjectSerializer < ActiveModel::Serializer
attributes :id, :title
end
我使用activemodel序列化程序返回一些条件的title属性。通常我可以覆盖标题方法,但我想要的是确定是否返回title属性。
答案 0 :(得分:1)
我不确定您的用例是什么,但也许您可以使用非常神奇的include_
方法!他们是最酷的!
class ProjectSerializer < ActiveModel::Serializer
attributes :id, :title
def include_title?
object.title.present?
end
end
如果object.title.present?
为true
,则序列化程序将返回title
属性。如果是false
,则title
属性将完全取消。请注意,include_
方法附带了自己的特定功能,并自动执行操作。它不能在序列化器中的其他地方调用。
如果您需要能够调用该方法,您可以创建自己的&#34; local&#34;您可以在序列化程序中使用的方法。
class ProjectSerializer < ActiveModel::Serializer
attributes :id, :title
def title?
object.title.present?
end
end
同样,不确定您正在寻找什么功能,但希望这能让您朝着正确的方向前进。