제가 분명히 잘못하고 있어야하기 때문에 저는이 것에 매우 초조감을 느낍니다. 그러나 나는 무엇을 알아낼 수없는 것 같습니다!모델 유효성 검사가 작동하지 않습니다.
기본적으로 모델에 유효성 검사를 추가하려고합니다. 콘솔에서 검증을 테스트 할 때 설정 한 유효성 검사기 중 아무 것도 작동하지 않는 것 같습니다! , 내가 제대로 this article을 이해한다면 객체의 속성 몇 가지가 전무하기 때문에
1.9.2-p290 :008 > s = Sale.new
=> #<Sale id: nil, product: nil, variant: nil, start: nil, end: nil, price: nil, shop_id: nil, created_at: nil, updated_at: nil, compare_at: nil>
1.9.2-p290 :009 > s.valid?
=> true
1.9.2-p290 :010 > s.save
SQL (1.2ms) INSERT INTO "sales" ("compare_at", "created_at", "end", "price", "product", "shop_id", "start", "updated_at", "variant") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) [["compare_at", nil], ["created_at", Fri, 27 Jan 2012 02:06:40 UTC +00:00], ["end", nil], ["price", nil], ["product", nil], ["shop_id", nil], ["start", nil], ["updated_at", Fri, 27 Jan 2012 02:06:40 UTC +00:00], ["variant", nil]]
=> true
지금, valid?
이 false
를 반환해야합니다 :
class Sale < ActiveRecord::Base
validates :product, :presence => true
validates :variant, :presence => true
validates :price, :presence => true
validates :start, :presence => true
validates :end, :presence => true
belongs_to :shop
end
가 여기 내 콘솔 출력입니다 :
여기에 해당 모델의 모델은 그들이 없어야한다고 정의 할 때 - 그러나 그렇지는 않습니다!
아이디어가 있으십니까?
사용중인 레일 버전은 무엇입니까? 또한 Shop 모델의 소스 코드를 추가 할 수 있습니까? 방금 테스트 한 결과 예상대로 작동했습니다. –
'class Shop
그리고 이것들은 시스템에있는 유일한 두 모델입니까? 또한 레일 버전을 추가하지 않았습니다. –