0
我有一個帶Post模型和標籤模型的rails 4應用程序。這些模型與HABTM關係有關。驗證以allow_blank,除非選擇了某種關係
class Post < ActiveRecord::Base
has_and_belongs_to_many :tags
...
end
Post模型具有「圖像」列,並通過格式驗證驗證其正確性,仍然允許空白。
validates :image,
format: { with: /\Ahttps\:\/\/s3.*amazonaws\.com.*\.png\z/ , message: 'Must be a valid url within S3 bucket' },
allow_blank: true
我需要添加一個驗證不允許如果選擇一個特定的標籤Post.image是空白。例如,如果Tag.name ==「foo」與此帖相關聯,則Post.image不能爲空。
這是在型號規格應通過:
it 'should not allow a post with tag name "foo" to have an empty image' do
mytags = [create(:tag, name: 'foo')]
expect(build(:post, image: '', tags: mytags)).to_not be_valid
end
驗證什麼會讓我的測試通過了嗎?