【问题标题】:rails 5 serializing an object along with other attributesrails 5 将对象与其他属性一起序列化
【发布时间】:2019-06-30 19:26:40
【问题描述】:

在 Rails 5.2 应用程序中,当我从控制器执行以下操作时,我在使用序列化程序时遇到了一些问题:

render json: { status: status, result: user, message: msg }

在这种情况下,渲染器会输出User 活动记录的所有字段。但是,对于对象user,我已经以类似的方式定义了一个序列化程序:

class UserSerializer < ActiveModel::Serializer
  attributes :id
end

我已经通过以这种方式执行显式渲染成功地对其进行了测试

render json: user

当然,user 是User 类的一个实例。但是,我已经提到,在前一种情况下不会调用序列化程序(render json: { status: status, result: user, message: msg }

一些线索、想法等可以帮助我保证在通过包含对象的哈希调用渲染时调用序列化程序?

【问题讨论】:

    标签: ruby-on-rails json serialization ruby-on-rails-5


    【解决方案1】:

    试试这个:

    render json: { status: status, result: UserSerializer.new(user), message: msg }
    

    【讨论】:

    • 谢谢!这很有效,并为我提供了一个很好的线索,让我知道如何在一般情况下解决它。也就是说,如果我使用任何其他具有序列化程序的 object 而不是 user
    • @lrleon 很高兴它有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    相关资源
    最近更新 更多