在rails中对于控制层和业务层的交互,我一般是这样做的
在model中
而在控制器中
最近服务器经常遇到500的错误,查看日志,原来是cookei溢出。flash的本质cookie大小引起的,我就不明白cookie居然容不下业务层的异常信息。
蛋真痛。
难道要我在跳转的url上附加业务异常信息?
tip?message=....
大家有什么见解?
原因已经找到,见我的回复
在model中
class Order
def pay!(op)
raise "交易单已支付!" if self.paid?
# 根据业务需要,其它的可能抛出异常的代码...
self.op = op.name
self.status = PAID
self.save!
end
end
而在控制器中
class OrderController
def pay
#一些代码
begin
@order = Order.pay!(current_admin)
rescue => error
flash[:error] = error
redirect_to "某个页面" and return
end
flash[:notice] = "操作成功"
redirect_to "某个页面"
end
end
最近服务器经常遇到500的错误,查看日志,原来是cookei溢出。flash的本质cookie大小引起的,我就不明白cookie居然容不下业务层的异常信息。
蛋真痛。
难道要我在跳转的url上附加业务异常信息?
tip?message=....
大家有什么见解?
原因已经找到,见我的回复