On Rails的5導軌 - 驗證:如果一個條件爲真
我有一個Order
模型與description
屬性。如果滿足以下兩個條件之一,我只想驗證它的存在:如果當前步驟等於第一步或者如果require_validation等於true。
我可以很容易地驗證基於一個條件是這樣的:
validates :description, presence: true, if: :first_step?
def first_step?
current_step == steps.first
end
,但我不知道如何去增加一個條件,如果驗證一個或另一個是真實的。
類似:
validates :description, presence: true, if: :first_step? || :require_validation
謝謝!
是不是一個拉姆達?一個塊可以是:'validates:description,presence:true,if:{first_step? || require_validation}' –
啊,你說得對。我應該說「你可以傳遞一個lambda」。 –
:)一個塊也可以工作。在使用它之前,Rails將它轉換爲proc或lambda(我忘了它是什麼)。 –