0
我想驗證我認爲相當簡單的事情。我有兩個time_select屬性「start_time」和「end_time」。我只是試圖在控制器中驗證用戶輸入的結束時間是否等於開始時間或開始時間之前。根本沒有日期。我在下面有一個驗證方法,但無論用戶輸入什麼內容,它都會出錯。驗證開始和結束時間屬性
相當新的鐵路,不禁感到我缺少一些小東西。這個驗證應該工作不應該嗎?
class Casenote < ActiveRecord::Base
validate :end_must_be_after_start
belongs_to :servicelog
default_scope { order(:id) }
private
def end_must_be_after_start
if :start_time >= :end_time
errors.add(:end_time, "must be after start time")
end
end
end
看起來像我的另一個「結束」被截斷,它現在被添加爲清晰。 – NinjaBranDizzle
我的印象是這些符號已經提交了值並驗證了它們。我怎樣才能提取這些提交的值並在模型中進行比較?模型是不正確的地方比較這些? – NinjaBranDizzle
當創建模型對象時,這些值是該模型中的方法。如果你做了'model = Model.new(foo:bar,bar:foo)',爲了得到foo或bar的值,它應該是'model.foo' - > bar'model.bar' - > foo。所以,該模型是檢查這個問題的最佳地點。每次創建或保存模型時,都會運行驗證。 – nzajt