【问题标题】:Rails callback does not workRails 回调不起作用
【发布时间】:2018-04-08 08:23:25
【问题描述】:

我的模型中有一个回调:

before_validation :downcase_title, :populate_empty_fields

private

def downcase_title
  title
end

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

但它们不起作用。好吧,如果我从控制台注销值(放置 ...),数据会更新,但在模型保存后,我看到没有应用任何更改。

例如对于第一种方法,如果我这样写,我发现它可以工作

def downcase_title
  title.downcase
end

这些方法有什么问题?

【问题讨论】:

  • 你想要达到的行为是什么?

标签: ruby-on-rails validation model callback


【解决方案1】:

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

def downcase_title
  self.title = title.downcase
end

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

【讨论】:

    猜你喜欢
    • 2018-11-28
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 2014-09-13
    • 2013-11-20
    • 2015-11-09
    • 2012-03-19
    • 2012-10-09
    相关资源
    最近更新 更多