我有一个服务对象,它调用外部服务(Service :: Customer),如下面的
class CustomerService
def initialise(params)
@email = params[:email]
end
def save_customer
Service::Customer.create(@email)
end
end
我的控制器包含一个创建方法
class CustomersController < ApplicationController
def create
new_customer = CustomerService.new({email: params[:email]})
new_customer.save_customer
rescue Service::CustomerCreationError => e
flash[:error] = e.message
redirect_to new_customer_path
end
end
我的问题是我可以将错误处理移动到服务对象的最佳方法是什么?