Rails回调不起作用

时间:2017-10-26 20:14:01

标签: ruby-on-rails validation model callback

我的模型中有回调:

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

这些方法有什么问题?

1 个答案:

答案 0 :(得分:1)

如果要更改属性,则应在属性前添加self

def downcase_title
  self.title = title.downcase
end

def populate_empty_fields
  self.title2 = title.split(',').first if !title2
end