在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=....
大家有什么见解?
原因已经找到,见我的回复
本文探讨了在Rails应用中如何处理控制层与业务层之间的交互,并通过具体代码示例展示了异常处理的方法。同时,文章还提到了由于Cookie大小限制导致的服务器500错误问题及解决方案。
1593

被折叠的 条评论
为什么被折叠?



