Rails before_filter с параметром из методов - PullRequest
0 голосов
/ 11 сентября 2011

У меня есть ряд методов с похожей структурой и общим параметром:

  • депозит (сумма)

  • перевод (сумма, до)

  • возврат денег (сумма)

Я бы хотел проверить, больше ли остаток, чем сумма, прежде чем вызывать эти действия. В противном случае, я должен повторить check_balance в каждом методе

Есть ли способ, которым я могу использовать before_filter для вызова check_balance (сумма) с суммой, переданной из методов, к которым я хочу применить?

Спасибо.

1 Ответ

0 голосов
/ 11 сентября 2011

Похоже, вы на самом деле не ищете какой-то before_filter, поскольку хотите передать аргументы (если аргументы не взяты непосредственно из params, но тогда синтаксис будет неправильным).

Вы должны создатьновый метод в вашем контроллере

private
def check_balance amount
  # whatever you need
end

Вызовите его так, как вам нужно в вашем действии

def index
  #some code
  check_balance(current_amount)
  #other code
end

Но вы уверены, что этот вид кода не связан напрямую с моделью?Если это так, он должен быть рефакторинг внутри самой модели.

...