我创建了一个这样的控制器动作:
def update
manager.update(
price_change: -> {
redirect_to new_painting_order_path(painting)
},
price_not_change: -> {
user_path(current_user)
}
)
end
它有效,但我的规格有问题。我想检查如果价格改变或者它没有改变,是否正确调用了lambda。我记下了经理对象。我可以检查哪些参数传递,但我认为检查lambdas很困难。另外,我想检查lambda中的动作是否正确。
是否有最佳做法可以做这样的事情?
答案 0 :(得分:0)
:price_change
返回什么?你能不把它写成if语句?
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