0
我想僅在user_id字段爲空時驗證註釋字段?rails 3 ruby 2有條件驗證不能按預期方式工作
我嘗試沒有一個拉姆達:
validates_presence_of :note, :unless => user_is_present?
def user_is_present?
self.user_id.present?
end
我試圖拉姆達:
validates_presence_of :note, :unless => lambda { self.user_id.present? }
我嘗試一個Proc
validates_presence_of :note, :unless => Proc.new { |x| x.user_id.present? }
validates_presence_of :note, :unless => user_id?
我通過方法嘗試
中的所有結果:
"Called id for nil, which would mistakenly be 8 -- if you really wanted the id of nil, use object_id"
試用&錯誤確認是零值是USER_ID ...這是不驗證,不應該失敗。
- 第一個問題是我的嘗試中是否有錯誤?
- 第二個問題是我該如何做到這一點?