Ruby on rails 如何从控制器/模型内部运行标准代码块?
我有一个“代码块”,它对数据执行计算,并根据这些计算更新一些表 我希望能够从多个位置引用这段代码,如下所示:Ruby on rails 如何从控制器/模型内部运行标准代码块?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个“代码块”,它对数据执行计算,并根据这些计算更新一些表 我希望能够从多个位置引用这段代码,如下所示: # from controller or model def ... ... run `chunk of code` ... end 这是一个非常简单的问题-代码块将去哪里?我将如何让Rails从控制器/模型运行它?计算或表更新属于一个模型,那么在模型中定义一些新的类方法如何,例如 def self.calculate ... chunk of code ...
# from controller or model
def ...
...
run `chunk of code`
...
end
这是一个非常简单的问题-代码块将去哪里?我将如何让Rails从控制器/模型运行它?计算或表更新属于一个模型,那么在模型中定义一些新的类方法如何,例如
def self.calculate
...
chunk of code
...
end
然后可以从模型和控制器调用它我通过执行以下操作来管理它:
def calculate
chunk of code
end
然后从模型/控制器调用它:
def some_other_action
...
@record.calculate (or self.calculate in model)
...
end
它叫什么名字?你能直接写下self.calculate吗?我试过self.calculate,但我无法从模型中调用它。定义
calculate
确实有效,请参见我上面的答案。不,self.method\u name表示类方法(与Java中的静态方法类似),您可以通过Model.calculate调用它。例如,如果你有一个汽车模型,并且在这个模型中定义了self.calculate,那么你几乎可以在任何地方调用Car.calculate。。。如果您定义的计算方法没有self关键字,它的对象的方法,而不是类。。。希望这有帮助