使用方法中的参数Rails before_filter

时间:2011-09-11 15:21:49

标签: ruby-on-rails before-filter

我有一系列方法,具有相似的结构并共享一个共同的参数:

  • 定金(金额)

  • def转移(金额,到)

  • def退款(金额)

我想在调用这些操作之前检查余额是否大于金额。否则,我必须在每个方法中重复check_balance

有没有办法可以使用before_filter来调用check_balance(amount),并从我想要应用的方法中传递数量?

谢谢。

1 个答案:

答案 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

但是你确定这种代码与模型没有直接关系?如果是这样,它应该在模型本身内重构。