0
對於個人資料圖片和配置文件信息的其餘部分,我有兩個單獨的表單。然而,這兩種形式都對應於剖面模型。對於一些配置文件屬性,我有這樣的驗證:rails根據表單進行驗證
validates :title, presence: true
validates :zip_code, presence: true
的問題是,當有人嘗試上傳的圖像,這是我不希望驗證檢查。這就是說,我也有一個圖像驗證器,所以我不想完全避免驗證,只是某些。我正在考慮嘗試訪問模型中的params散列,但我無法弄清楚如何以及我很確定它是一個壞主意。我怎樣才能做出正確的驗證條件?我已經嘗試過這樣的:
validates :title, presence: true, :unless => :picture_exists?
def picture_exists?
if self.pic
puts 'yo pic exist'
return true
else
puts 'yo no pic'
return false
end
end
,但它不工作,因爲它會檢查該配置文件是否有一個畫面,而不是PARAMS是否有他的照片。所以如果有人已經保存了一張圖片,他們將能夠繞過我不想要的驗證。我希望驗證在不使用圖片提交表單時被繞過。
感謝,3號可以工作,但有沒有辦法真正做到這一點?我不確定我瞭解你的PS問題? – Philip7899
我認爲數字2更好(和3密切相關)。也許這可以擺脫一些光:http://stackoverflow.com/questions/8881712/skip-certain-validation-method-in-model – rlecaro2
@ Philip7899關於PS我問爲什麼所有其他驗證會觸發錯誤?即使其他字段爲空(或您正在驗證的任何內容),您的應用程序流是否會考慮設置個人資料圖片的用例? – rlecaro2