ActiveModel Serializer需要正确的功能

时间:2013-11-08 16:13:57

标签: ruby-on-rails active-model-serializers

在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

,所以除了那里的课以外,它不支持任何东西。

有什么想法?

0 个答案:

没有答案