У меня есть приложение API на основе rails 5, использующее fast_jsonapi
, и через некоторое время я наблюдаю, что все мои действия имеют один общий шаблон
def action_name
@some_object.perform_action_name # this returns @some_object
render json: ControllerNameSerializer.new(@some_object).to_h
end
Я не могу sh писать последняя строка render
здесь, и она должна работать, для этого я хочу, чтобы возвращаемое значение действием обрабатывалось любым скрытым подобным респонденту предметом, класс Serializer можно разобрать, посмотрев на имя контроллера.
Возможно, этого можно достичь, добавив небольшое промежуточное программное обеспечение. Однако поначалу я нахожу это не очень хорошей идеей / практикой для go для промежуточного программного обеспечения. В промежуточном программном обеспечении мы получаем ответ, нам нужен хук до этого.
Я хотел бы представить, как
class SomeController ...
respond_with_returned_value
def action_name
@some_object.perform_action_name # this returns @some_object
end
Любые предложения?
Обратите внимание, не волнуйтесь Что касается ошибок / сбоев, @some_object.errors
может их удерживать, и у меня есть механизм для обработки этого отдельно.