作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用AMS和Chewy的Rails 4项目。
如果我将AMS定义为默认值,则可以序列化。但是,如果我使用自定义AMS,则会收到错误消息:NoMethodError (undefined method 'read_attribute_for_serialization' for #<Chewy::Query:0x000000060c1da8>)
代码(工作正常):
@search = Search.new(params)
@results = @search.query.load
render json: @results
@search = Search.new(params)
@results = @search.query.load
render json: @results, serializer: MySerializer
MySerializer
都相同。那里也没有幻想。
class MySerializer < ActiveModel::Serializer
attributes :my_attribute, :other_attribute
has_one :thing
end
module Chewy
class Query
alias_method :read_attribute_for_serialization, :send
end
end
NoMethodError (undefined method 'my_attribute' for #<Chewy::Query:0x000000069af5c8>)
最佳答案
原来应该是render json: @results, each_serializer: MySerializer
因为它正在尝试使用单对象序列化程序序列化集合。
关于ruby-on-rails-4 - 主动模型序列化器和耐嚼,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25965779/
我是一名优秀的程序员,十分优秀!