相关疑难解决方法(0)

Rails:around_*回调

我已经阅读了http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html上的文档,但是不知道何时around_*触发了关于before_*和的回调after_*.

任何帮助非常感谢.

谢谢.

ruby ruby-on-rails callback

89
推荐指数
2
解决办法
2万
查看次数

是:on =>:对Rails 3.2.3中的before_save回调创建有效

如您所知,before_save回调在before_create回调之前执行.

因此,有些人建议使用in before_save :method, :on => :create而不是before_create使得回调方法在适当的时间执行与其他回调(例如自动保存回调)相关.例如,请参阅此Pivotal Labs博客文章以及此StackOverflow答案.

但是,据我所知,该:on => :create选项无法实现对before_save回调的预期效果.换句话说,无论是否为创建,都会为每次保存执行回调.

:on => :create选项似乎是有效的before_validation回调,虽然.

有人可以确认是否:on => :create应该适用于before_save?它是否在以前的Rails版本中有效并且现在已经坏了,或者前面提到的链接是错误的?

假设:on => :create无效,以下是否可接受,和/或有更好的方法吗?

before_save :callback_method, :if => :new_record?
Run Code Online (Sandbox Code Playgroud)

谢谢.

activerecord ruby-on-rails before-save ruby-on-rails-3.2

8
推荐指数
1
解决办法
1万
查看次数