【问题标题】:ActiveModel::Serializer::Adapter.create(serializer_object, include: '*,user.**').to_jsonActiveModel::Serializer::Adapter.create(serializer_object, include: '*,user.**').to_json
【发布时间】:2017-02-24 18:39:24
【问题描述】:
ActiveModel::Serializer::Adapter.create(serializer_object, include: '*,user.**').to_json

我理解代码但不明白 '*,user.'** 的含义。

谁能解释一下这个'*,user.'**?

问题 2

我想在包含中添加references,我该怎么做?

【问题讨论】:

  • 这行得通吗?
  • 是的,它处于工作状态。该行花费了太多时间(例如 27 秒)。我想减少到 2 秒。所以我要问这个问题。
  • 尝试只包含您需要的参考资料。
  • 两秒渲染一个序列化器?你疯了吗?
  • @sergio-tulentsev 没有得到。你能给我语法吗?

标签: ruby-on-rails ruby-on-rails-4 serialization


【解决方案1】:

https://github.com/rails-api/active_model_serializers/blob/master/docs/general/adapters.md

这个

include: '*,user.**'

表示“包括当前对象的所有直接引用以及其user 属性的所有引用(递归)。

这看起来效率不高(用户类往往是每个应用程序中的上帝对象)。尝试仅包含您实际需要的参考资料。类似的东西

include: 'user,owner,whatever'
# or 
include: [:user, :owner, :whatever]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多