Aar*_*egh 12 activerecord ruby-on-rails callback ruby-on-rails-3
我知道before_filter只适用于Rails中的控制器,但是对于模型我想要这样的东西:每次调用模型中的方法时,我都想运行一个方法来确定被调用的方法是否应该运行.从概念上讲,这样的事情:
class Website < ActiveRecord::Base
before_filter :confirm_company
def confirm_company
if self.parent.thing == false?
return false
end
end
def method1
#do stuff
end
end
Run Code Online (Sandbox Code Playgroud)
因此,当我调用@ website.method1时,它将首先调用confirm_company,如果我返回false,则不会运行method1.Rails有这样的功能吗?我希望我只是错过了这里显而易见的事情......
Rob*_*bin 12
class MyModel
extend ActiveModel::Callbacks
define_model_callbacks :do_stuff
before_do_stuff :confirm
def do_stuff
run_callbacks :do_stuff do
#your code
end
end
def confirm
#confirm
end
end
Run Code Online (Sandbox Code Playgroud)
我真的不确定这会起作用,但你可以尝试一下,因为我现在没有时间.看一看:http://api.rubyonrails.org/classes/ActiveModel/Callbacks.html
| 归档时间: |
|
| 查看次数: |
10488 次 |
| 最近记录: |