首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#<Hash:0x00007fda56b4bc88>的未定义方法`read_attribute_for_serialization

#<Hash:0x00007fda56b4bc88>的未定义方法`read_attribute_for_serialization
EN

Stack Overflow用户
提问于 2021-03-05 23:48:51
回答 1查看 395关注 0票数 0

我正在尝试设置一个简单的序列化。我有以下代码:

代码语言:javascript
复制
def show
  @movie = Movie.find_by(id: params[:id])
  render json: { data: @movie }, serializer: MovieSerializer
end

class Movie < ActiveRecord::Base
  include ActiveModel::Serialization

  belongs_to :genre
  attr_accessor :rating, :plot, :poster
end

class MovieSerializer < ActiveModel::Serializer
  attributes :genre, :id

  belongs_to :genre
  attr_accessor :rating, :plot, :poster

  def genre
    'test'
  end
end

控制器将引发错误

代码语言:javascript
复制
render json: { data: @movie }, serializer: MovieSerializer
undefined method `read_attribute_for_serialization' for #<Hash:0x00007fda56b4bc88>

而且看起来该对象确实是序列化程序中的一个哈希。

EN

回答 1

Stack Overflow用户

发布于 2021-03-08 20:55:22

卸下支架已解决此问题。

代码语言:javascript
复制
render json: @movie, serializer: MovieSerializer
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66495559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档