Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 在包含rails 5的文件中设置自定义序列化程序_Ruby_Serialization_Ruby On Rails 5_Active Model Serializers - Fatal编程技术网

Ruby 在包含rails 5的文件中设置自定义序列化程序

Ruby 在包含rails 5的文件中设置自定义序列化程序,ruby,serialization,ruby-on-rails-5,active-model-serializers,Ruby,Serialization,Ruby On Rails 5,Active Model Serializers,我有一段代码,它从我的模型空缺中带来一个空缺,然后根据序列化程序VacancyDetailSerializer在json中呈现属性: 控制器 这里的问题是,在include:[:restaurant]中,我想指定一个自定义序列化程序,就像我对空缺所做的那样,因为现在正在使用RestaurantSerializer的序列化程序,但我不想使用该文件,有没有办法使用include来完成它?可能在控制器中,或者可能在序列化程序中?如果您在vacancydailserializer中有属于:restaur

我有一段代码,它从我的模型空缺中带来一个空缺,然后根据序列化程序VacancyDetailSerializer在json中呈现属性:

控制器


这里的问题是,在
include:[:restaurant]
中,我想指定一个自定义序列化程序,就像我对空缺所做的那样,因为现在正在使用RestaurantSerializer的序列化程序,但我不想使用该文件,有没有办法使用include来完成它?可能在控制器中,或者可能在序列化程序中?

如果您在
vacancydailserializer
中有
属于:restaurant
关联,则此关联的
序列化程序可以是:

类VacancyDetailSerializer
也可以通过提供块来覆盖它:

class VacancyDetailSerializer < ActiveModel::Serializer
  belongs_to :restaurant do
    AnotherRestaurantSerializer.new(object.restaurant)
  end
end
类VacancyDetailSerializer 或者可以实现自定义

class VacancyDetailSerializer < ActiveModel::Serializer
  belongs_to :restaurant, serializer: AnotherRestaurantSerializer
end
class VacancyDetailSerializer < ActiveModel::Serializer
  belongs_to :restaurant do
    AnotherRestaurantSerializer.new(object.restaurant)
  end
end