0
我希望我對Rails的經驗不足是沒有其他人似乎遇到這個問題,並且有一個簡單的答案。目前,雖然,我很難過。快速和骯髒的是,我有一個模型,代表每天的日程安排(按日期開放和關閉時間)。在尋找驗證這些日期時間屬性的方法時,我在這裏遇到了幾個線程,這些線程建議使用我已經完成的validates_timeliness gem。我寫了一些簡單的單元測試來檢查我想要遵守的對象的規則,並且在新的驗證似乎能夠工作的情況下,它不會爲ActiveModel對象的錯誤集合中添加任何內容。Rails:日期驗證及時性,但沒有錯誤信息
示範段:
class OverrideSchedule < ActiveRecord::Base
validates :close, :open, :schedule_id, presence: true
validates_datetime :open, :after => lambda { DateTime.now }, :after_message => "must be a future date/time"
validates_datetime :close, :after => :open, :after_message => "must be after the open date/time"
attr_accessible :close, :open, :schedule_id
end
單元測試代碼片段:
test "open time must be in the future" do
assert past_override_schedule.invalid? #<--- This assert succeeds
assert past_override_schedule.errors[:open].any? #<--- This assert fails
end
test "close time must be after open time" do
assert close_before_open_override_schedule.invalid? #<--- This assert succeeds
assert close_before_open_override_schedule.errors[:close].any? #<--- This assert fails
end
我查了.errors集合在我的單元測試一個看跌的任何鍵和大小。沒有鑰匙,大小始終爲0.我在驗證語句的語法中遺漏了一些簡單的東西嗎?這是正常的,來自時效性的預期行爲?我很感謝您的任何意見。