我有一系列方法,具有相似的结构并共享一个共同的参数:
定金(金额)
def转移(金额,到)
def退款(金额)
我想在调用这些操作之前检查余额是否大于金额。否则,我必须在每个方法中重复check_balance
有没有办法可以使用before_filter来调用check_balance(amount),并从我想要应用的方法中传递数量?
谢谢。
答案 0 :(得分:0)
似乎你并不是真的在寻找一些before_filter
,因为你想传递参数(除非参数是直接从params
获取的,但语法是错误的。)
您应该在控制器中创建一个新方法
private
def check_balance amount
# whatever you need
end
在您的行动中根据需要拨打电话
def index
#some code
check_balance(current_amount)
#other code
end
但是你确定这种代码与模型没有直接关系?如果是这样,它应该在模型本身内重构。