【发布时间】:2019-02-25 01:16:03
【问题描述】:
我想像这样调用我的序列化程序(使用来自 master https://github.com/rails-api/active_model_serializers/tree/0-8-stable 的 ASM 0.8):
def edit
@loc=Location.find(params[:id])
render json: @loc, serializer: LocationSmallSerializer, root: "data", meta: "success", meta_key: 'status', show_admin:true
end
show_admin 值将在其中动态生成,这样 api 中用于 admin 的额外字段将只存在于 admin 用户。
序列化器看起来像这样:
class LocationSmallSerializer < ActiveModel::Serializer
attributes :name, :show_admin, :admin_vals
def admin_vals
????
if @options[:show_admin]==true
add these attributes
end
end
如何将“admin_vals”中的属性与上面的属性合并?或者如果有更好的解决方案,它会是什么?
【问题讨论】:
-
timpone,你能试试我发布的解决方案吗?如果您有任何其他问题,请告诉我!
标签: ruby-on-rails ruby-on-rails-4.2 active-model-serializers