Rails 活动模型序列化程序包含问题
Rails Active Model Serializer Include Concerns
是否可以在序列化程序中包含代码?我有一些常用的方法,我想只包括而不是总是重复它们。
当然可以。使用 concern、ApplicationSerializer 或编写另一个 类 来共享行为应该没问题。
如果您正在寻找一些代码作为示例:
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"
...
是否可以在序列化程序中包含代码?我有一些常用的方法,我想只包括而不是总是重复它们。
当然可以。使用 concern、ApplicationSerializer 或编写另一个 类 来共享行为应该没问题。
如果您正在寻找一些代码作为示例:
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"
...