0

在 RoR 后端处理前端和 json 响应,我正在尝试设置序列化程序以避免代码混乱:only => []等等。

我发现,在具有关联的序列化程序中,我们不能使用尚未初始化的类名。

class AuthorOnlySerializer < ActiveModel::Serializer
  attributes :id, :name, :real_name, :wiki_link
end

class BookSerializer < ActiveModel::Serializer
  has_many :authors, serializer: AuthorOnlySerializer
  attributes :id, :title, :isbn, :publish_year, :detail
end

这样的代码可以正常工作,但是如果我切换这些类(现在将它们放在一个文件中)(UPD 用于理解:我所说的切换是将 BookSerializer 放在文件中 AuthorOnlySerializer 的前面),我得到

uninitialized constant BookSerializer::AuthorOnlySerializer

有什么方法可以避免这些问题并能够将它们按任何顺序排列?我尝试在序列化程序选项中提供符号而不是类,但随后出现

undefined method `new' for :AuthorOnlySerializer:Symbol

,所以它只支持那里的类。

有什么想法吗?

4

0 回答 0