在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前面),我得到了< / p>
uninitialized constant BookSerializer::AuthorOnlySerializer
有没有办法避免这些问题,并能够按任何顺序放置它们?我尝试过将符号而不是类提供给序列化程序选项,但随后来了
undefined method `new' for :AuthorOnlySerializer:Symbol
,所以除了那里的课以外,它不支持任何东西。
有什么想法?