Rails Active Model Serializer包含问题

时间:2015-05-20 20:12:51

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

是否可以在序列化程序中包含代码?我有一些常用的方法,我只想包括而不是总是重复它们。

2 个答案:

答案 0 :(得分:4)

如果您正在寻找一些代码作为示例:

1)创建包含专门关注点的专用序列化程序

# app/serializers/specialized_serializer.rb

class SpecializedSerializer < DefaultSerializer
  include SpecializedConcern
  ...
end

2)在新的关注文件夹中创建您的专业关注

# app/serializers/concerns/specialized_concern.rb

module SpecializedConcern
  extend ActiveSupport::Concern

  included do
    include SomeModule
    ...
  end

  def some_method
    ...
  end
end

3)将新的序列化关注文件夹添加到应用程序自动加载路径

# config/application.rb
...
config.autoload_paths += "#{config.root}/app/serializers/concerns"
...

答案 1 :(得分:2)

当然,你可以。使用关注,ApplicationSerializer或组合其他类来共享行为应该没问题。