Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用活动的\u model\u序列化程序在默认情况下包括所有属性并对其进行过滤?_Ruby On Rails_Active Model Serializers - Fatal编程技术网

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