我从rails指南中获取了此代码,我认为此代码无法正常工作,因为title
为空白而不应具有body
的值,但它不会以这种方式工作,而是显示错误& #34;标题不能为空白"。道歉是否过于简单。
class Article < ActiveRecord::Base
validates :title, :body, presence: true
before_validation :ensure_title_has_a_value
protected
def ensure_title_has_a_value
if title.nil?
self.title = body unless body.blank?
end
end
end
答案 0 :(得分:1)
我想你的标题属性实际上不是nil
,特别是如果它来自表单。它可能只是一个空字符串。
尝试将验证更改为:
def ensure_title_has_a_value
if title.blank?
self.title = body unless body.blank?
end
end