0
我有一系列的方法,具有類似的結構和共用公共參數:導軌的before_filter與從方法參數
DEF存款(量)
DEF轉移(量,至)
DEF退(量)
我想的cHEC k如果在調用這些動作之前餘額大於金額。否則,我不得不在每種方法中重複使用check_balance
有沒有一種方法可以讓用戶before_filter調用check_balance(金額)與從我想要應用的方法傳遞的金額?
謝謝。
我有一系列的方法,具有類似的結構和共用公共參數:導軌的before_filter與從方法參數
DEF存款(量)
DEF轉移(量,至)
DEF退(量)
我想的cHEC k如果在調用這些動作之前餘額大於金額。否則,我不得不在每種方法中重複使用check_balance
有沒有一種方法可以讓用戶before_filter調用check_balance(金額)與從我想要應用的方法傳遞的金額?
謝謝。
看起來你並不是真的在尋找一些before_filter
,因爲你想傳遞參數(除非直接從params
獲取參數,但是這樣的語法將會是錯誤的)。
在你控制器
private
def check_balance amount
# whatever you need
end
的電話這是你在你的行動
def index
#some code
check_balance(current_amount)
#other code
end
需要,但你肯定這種代碼是沒有直接關係,您應該創建一個新方法模型?如果是這樣,它應該在模型本身內重構。
對不起,關於參數和方法參數之間的混淆。你雖然正確理解我的問題。我知道我可以在每種方法上調用check_balance。我只是想知道是否有一種方法可以避免多次重複同一個呼叫。 – AdamNYC
因爲呼叫不是在行動之前或之後進行的,所以沒有辦法避免重複。無論如何,代碼是非常可讀和可測試的,所以我看不到任何架構默認。 – apneadiving
這就是我正在尋找的答案。謝謝。 – AdamNYC