Rails3:Base#after_update已被弃用

pet*_*hka 5 callback deprecated ruby-on-rails-3

我看到了警告:

DEPRECATION WARNING: Base#after_update has been deprecated, please use Base.after_update :method instead. (called from <class:City> at /home/petrushka/webdev/my_app/app/models/city.rb:4)
Run Code Online (Sandbox Code Playgroud)

我该怎么写而不是

  def after_update
     ....
  end
Run Code Online (Sandbox Code Playgroud)

And*_*oni 10

你应该写如下:

after_update :your_custom_method # macro-style
Run Code Online (Sandbox Code Playgroud)

至少你可以传递一个块而不是一个方法:

after_update do |model| 
  model.name = model.name.capitalize unless model.name.blank?
end
Run Code Online (Sandbox Code Playgroud)

更多信息:http://guides.rails.info/active_record_validations_callbacks.html(选择rails edge文档)