2015-05-20 2 views

ответ

2

Если вы ищете какой-то код в качестве примера:

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" 
... 
2

Абсолютно, вы можете. Либо использование проблемы, ApplicationSerializer, либо создание других классов для совместного использования поведения должно быть в порядке.

+0

У вас есть пример использования проблемы в сериализаторе? Я пробовал кучу разных подходов, и все закончилось ошибками. – Dan

+0

Какие ошибки вы получили? – Samnang

+0

Я закончил создание нового класса под названием «FormSerializer», который простирается от «ActiveModel :: Serializer», а затем у меня есть другие сериализаторы, которые расширяются от него, когда мне нужны формы, связанные с методами. – Dan

Смежные вопросы