Почему моя условная проверка не проходит? - PullRequest
3 голосов
/ 17 сентября 2011

У меня есть условная проверка в моей модели Post:

validates :title, :presence => true, :if => Proc.new { |post| post.post_type == "text" }

И у меня есть следующие спецификации в моем post_spec.rb файле:

it "should only require a title if the post type is text" do
  post = Post.new(@attr.merge(:title => "", :post_type => "text"))
  post.should_not be_valid

  post = Post.new(@attr.merge(:title => "", :post_type => "image"))
  post.should be_valid # This fails
end

Мой вопрос: Почему второй тест не пройден?

1 Ответ

0 голосов
/ 21 октября 2011

У вас должна быть какая-то другая проверка, где-то не получится.Зайдите в консоль и сделайте:

post = Post.new(:title => "", :post_type => "image")
post.valid?
post.errors

и посмотрите, что вы получите ...

...