我在我的模型的一個枚舉在我的API如何編寫驗證,枚舉在軌
enum pay_method: {
cash: 0,
card: 1
}
我想爲這個枚舉驗證,但我不能這樣做。我在我的模型中寫了一個驗證,但它沒有起任何作用
我在我的模型的一個枚舉在我的API如何編寫驗證,枚舉在軌
enum pay_method: {
cash: 0,
card: 1
}
我想爲這個枚舉驗證,但我不能這樣做。我在我的模型中寫了一個驗證,但它沒有起任何作用
驗證枚舉不會起作用,因爲Rails甚至不允許使用錯誤值賦值枚舉變量。在驗證之前你會得到一個錯誤。這裏有個很好的討論https://github.com/rails/rails/issues/13971
如果提交的值不對應於哈希鍵或值之一,則rails enum功能會拋出錯誤。在這種情況下,它不對應鍵,因爲您提交的值是一個字符串,所以在此之前您是正確的。
該錯誤仍然出現,因爲枚舉在驗證過程之前設置。這可以幫助您瞭解
@shippimg = Shippig.first
@shipping.status = 99
ArgumentError: '99' is not a valid status
Rails開發者說,程序員是那些負責照顧什麼價值,他們使用assingning到枚舉的屬性
我已經爲驗證枚舉包含的瑰寶。這至少會停止服務器崩潰https://github.com/CristiRazvi/enum_attributes_validation
您的驗證如何? – spickermann