我的模型中有回调:
before_validation :downcase_title, :populate_empty_fields
private
def downcase_title
title
end
def populate_empty_fields
title2 = title.split(',').first if !title2
end
但它们不起作用。好吧,如果我从控制台注销值(put ...),数据会更新,但是在保存模型后我看到没有应用任何更改。
例如对于第一种方法,我发现如果我像
那样写它就可以了def downcase_title
title.downcase
end
这些方法有什么问题?
答案 0 :(得分:1)
如果要更改属性,则应在属性前添加self
:
def downcase_title
self.title = title.downcase
end
def populate_empty_fields
self.title2 = title.split(',').first if !title2
end