我创建了一个控制器操作,如下所示:
def update manager.update( price_change: -> { redirect_to new_painting_order_path(painting) }, price_not_change: -> { user_path(current_user) } ) end
它有效,但我的眼镜有问题。如果价格发生变化或没有变化,我想检查lambda是否被正确调用。我截住了管理器对象。我可以检查哪些参数通过了,但我认为很难检查lambdas。此外,我想检查lambdas中的操作是否正确。
有这样的最佳实践吗?
是什么 :price_change 返回?你能不能把它写成if语句?
:price_change
def update if manager.update_attributes(params[:manager]) if price_change? redirect_to new_painting_order_path(painting) else user_path(current_user) end end end