unk*_*own 0 serialization ruby-on-rails
我正在使用 ActiveModelSerializers gem。在我的模型中,用户可以拥有许多车辆
class User < ActiveRecord::Base
has_many :vehicles
end
class Vehicle < ActiveRecord::Base
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
我的序列化程序:
class UserSerializer < ActiveModel::Serializer
attributes :name, :vehicles
end
class VehicleSerializer < ActiveModel::Serializer
attributes :color, :make, :model
end
Run Code Online (Sandbox Code Playgroud)
车辆具有的属性不仅仅是颜色、品牌和型号。
如果我打印单个 Vehicle @vehicle,则仅显示序列化程序中指定的字段。但是,如果我打印@user(它的序列化程序中包括 :vehicles),那么序列化程序将被忽略,并且 Vehicle 的所有字段都被打印出来。
我猜这与 user.vehicles 是一个数组而不仅仅是一个项目这一事实有关,但是有没有办法打印用户车辆的整个数组,如每个项目的序列化程序中所述?
问候。
小智 5
AMS 通过ActiveModel::Serializer::Association结构支持关联。这意味着您可以拥有UserSerializer以下内容:
class UserSerializer < ActiveModel::Serializer
attributes :name
has_many :vehicles
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1583 次 |
| 最近记录: |