2013-08-22 46 views
0

當我嘗試驗證時,出現此錯誤。我試圖驗證字符串是否不在數據庫中。未定義的方法'有效嗎?'對於「城市」:字符串

這是我的模型

class Location < Locations::Location 
    validate do 
    #strong URL check for url_prefix 
    errors.add(:url_prefix, "URL already taken") if self.url_prefix.valid? && is_on_web; 
    end 
end 
+3

不知道你在做什麼。 'url_prefix'是一個字符串,字符串沒有名爲'valid?'的實例方法。你只能在ActiveRecord對象上調用'valid?'。 – Mischa

回答

3

而是使用,

validates :url_prefix, :uniqueness => { :message => "URL already taken and is online" } 

更新:

可以添加

有條件的驗證,以解決您的這樣的第二個問題,

validates :url_prefix, :uniqueness => { :message => "URL already taken and is online" }, :if => :is_on_web? 
+0

有沒有一種方法可以檢查:url_prefix是否唯一,如果另一件事是真或假? –

+0

那又是什麼? –

+0

檢查,更新答案來解決你的第二個問題。 –

相關問題