0
我想在rails中編寫自定義驗證以檢查我輸入的值是否在數據庫中有重複。Rails自定義驗證
我需要覈對基於關閉4個不同的表/模型
我想寫這樣的用於驗證的值:
class Locations::BranchBusinessGroup < Locations::Database
validate :url_duplicated
private
def url_duplicated
if self.location.url_prefix.valid?
errors.add(:location, 'URL is take')
else
if self.custom_url.valid? && self.self.business_group.is_on_web #both in different models
errors.add(:location, 'URL is used in a custom URL')
end
end
end
url_prefix
,url_suffix
,「:CUSTOM_URL ',is_on_the_web
是由表單輸入的所有字段。邏輯應該檢查url_prefix
和url_suffix
是否已經輸入,如果它們沒有匹配':custom_url'和is_on_the_web
。
這是不正確的編碼方式和它的超級錯誤。它只是我想如何檢查驗證的想法。任何燈光都會很好。
錯誤我得到的是:
undefined method
有效「?對於「尚蒂伊-VA」:String`
問題是? – rlecaro2
已修改。想知道我該如何編寫這樣的自定義驗證。 –
您使用的是什麼ORM,ActiveRecord?什麼是父'Locations :: Database'類?另外,請澄清一下會使這條記錄無效的邏輯。從你的例子中,我們不清楚'url_suffix','custom_url'和'is_on_web'應該代表什麼。 – PinnyM