【问题标题】:Rails - serializer passing parametrRails - 序列化程序传递参数
【发布时间】:2023-03-20 23:09:02
【问题描述】:

我使用active_model_serializers (0.9.2)。我一直在研究文档、堆栈和源代码,但仍然找不到将某些参数传递给序列化程序的方法。唯一的解决方法是使用default scope

def default_serializer_options
  {
    scope: some_param
  }
end

@options, options orserialization_options 似乎对我不起作用。

【问题讨论】:

  • 你想了解序列化的概念吗?或者什么
  • 我想将参数从控制器传递到序列化器。这就是我所期望的

标签: ruby-on-rails ruby serialization


【解决方案1】:

这个链接可以帮助你link 首先在序列化程序文件夹中创建一个序列化程序。

class AttachmentSerializer < ActiveModel::Serializer
    attributes :id, :attachment_url

    def attachment_url
        object.attachment_url
    end

end


然后在你的控制器中你可以做这样的事情

params.require(:model-name).permit( :attachment)

【讨论】:

  • 我使用render json: @books, each_serializer: BookSerializer,我想将附加参数与@books 一起传递。像render json: @books, name: 'John', each_serializer: BookSerializer 这样的东西,然后可以在序列化程序中访问titlename 但上面不起作用,或者我无法获取这个参数
  • 你知道我现在想要什么吗?
  • 是的,我知道你想知道我提供的链接,如果它没有告诉我,它将解决你的问题
  • 好吧,我可以使用范围,但是如何传递多个参数呢?
  • 还是不知道怎么传参数
猜你喜欢
  • 2019-07-25
  • 1970-01-01
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-04
  • 2018-02-03
  • 1970-01-01
相关资源
最近更新 更多