Типичный шаблон, который я вижу в контроллерах рельсов для API JSON
success = @my_object.save
if success
render @my_object, serializer: SomeSerializer
else
my_custom_error_reporting_method @my_object
end
Но это становится чрезвычайно повторяющимся.Есть ли известный метод хорошей практики для сушки этого?
Я думал о том, чтобы иметь
def my_error_handling_render_method(target_object, options)
if target_object.errors.empty?
render target_object, options
else
my_custom_validation_error_raising_method target_object
end
end
Это позволило бы контроллерам просто сделать
@my_object.save
my_error_handling_render_method @my_object, serializer: SomeSerializer
ЭтоМне кажется разумным, но я не вижу такой картины вокруг.Это заставляет меня думать, что что-то важное я не вижу.