我有以下代码,据我所知,它只处理a.blank?是真的。但是[" "。]空白?是假的。为什么它无法通过验证
class Demo < CouchRest::Model::Base
collection_of :subdemos
validate :ensure_subdemos
def ensure_subdemos
errors.add(:demo, "must include subdemos.") if subdemos.blank?
end
end
如果我demo.update_attributes(:subdemo_ids => [" "])
,为什么它不能通过验证?谁能为我完成这个过程?
答案 0 :(得分:1)
您需要使用实际ID。空格是空白的:
-> % rails c
Loading development environment (Rails 4.2.3)
Frame number: 0/5
[1] pry(main)> " ".blank?
true
[2] pry(main)>
如果你在那里添加数据,它应该通过验证:
demo.update_attributes(:subdemo_ids => [1,2,3])
如果要允许空格或空数组,请尝试:
def ensure_subdemos
errors.add(:demo, "must include subdemos.") if subdemos.nil?
end