gpt4 book ai didi

ruby-on-rails - Rails 型号 "before_filter"?

转载 作者:行者123 更新时间:2023-12-04 00:56:59 27 4
gpt4 key购买 nike

我知道 before_filter 仅适用于 Rails 中的 Controller ,但我想要一个模型这样的东西:每当我的模型中的一个方法被调用时,我想运行一个方法来确定被调用的方法是否应该运行。从概念上讲,是这样的:

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

所以当我调用@website.method1时,它会先调用confirm_company,如果我返回false,就不会运行method1。 Rails 有这样的功能吗?我希望我只是错过了一些明显的东西......

最佳答案

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

我真的不确定这会起作用,但你可以试试,因为我现在真的没有时间。看看那个: http://api.rubyonrails.org/classes/ActiveModel/Callbacks.html

关于ruby-on-rails - Rails 型号 "before_filter"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398282/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com