gpt4 book ai didi

ruby-on-rails - 事件模型序列化器 respond_with 导致未定义的方法 "to_model"?

转载 作者:行者123 更新时间:2023-12-05 04:13:05 25 4
gpt4 key购买 nike

我有一个简单的模型:

class Receipt
include ActiveModel::Serialization
attr_accessor :products
end

我的 Controller 正在做:

def create
respond_with receipt, :serializer => ReceiptSerializer
end

和序列化器:

class ReceiptSerializer < ActiveModel::Serializer
attributes :products
end

我得到:

 NoMethodError:
undefined method `to_model' for #<Receipt:0x007f99bcb3b6d8>

然而,如果我将我的 Controller 更改为:

def create
json = ReceiptSerializer.new(receipt)
render :json => json
end

然后一切正常...发生了什么???

我使用的是 active_model_serializers 0.9.3,但刚试了 0.10.2,结果是一样的。

最佳答案

在我阅读的所有文档和个人实现中,我使用 render json: 而不是 respond_with

render json: receipt, serializer: ReceiptSerializer

我相信 respond_with 已从 rails 中删除,不再被视为最佳实践,但我找不到验证该声明的链接。

关于ruby-on-rails - 事件模型序列化器 respond_with 导致未定义的方法 "to_model"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38546642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com