Ruby on rails 如何使用活动的\u model\u序列化程序在默认情况下包括所有属性并对其进行过滤?
我正在使用并希望找到一种方法,在默认情况下包括所有模型的属性,然后使用类似这样的方法Ruby on rails 如何使用活动的\u model\u序列化程序在默认情况下包括所有属性并对其进行过滤?,ruby-on-rails,active-model-serializers,Ruby On Rails,Active Model Serializers,我正在使用并希望找到一种方法,在默认情况下包括所有模型的属性,然后使用类似这样的方法 exclude :date_created, :first_name 来指定我不需要的 到目前为止,除了文档中的属性外,我还没有找到指定导出属性的方法,这是通过枚举所有需要的属性来完成的: attributes :title, :body 您可以在模型序列化程序上执行类似的操作(以用户作为模型为例): class UserSerializer
exclude :date_created, :first_name
来指定我不需要的
到目前为止,除了文档中的属性外,我还没有找到指定导出属性的方法,这是通过枚举所有需要的属性来完成的:
attributes :title, :body
您可以在模型序列化程序上执行类似的操作(以用户作为模型为例):
class UserSerializer
有关ActiveRecord属性名称的更多信息,请参见此处:谢谢。最后的解决方案是:
attributes(*(User.attribute\u names-[“date\u created”,“first\u name]”)。map(&:to\u sym))
我有一个错误,请参考我的答案:不幸的是attributes
不接受数组作为输入:(@Tilo:这就是为什么他们使用星号(*)在数组前面。它将数组转换为参数列表。
class UserSerializer < ApplicationModelSerializer
attributes(*User.attribute_names.map(&:to_sym))
end