如何从控制器/模型中运行标准的代码块?

时间:2011-05-02 22:59:56

标签: ruby-on-rails ruby-on-rails-3

我有一个“代码块”,可以对数据执行计算,并根据这些计算更新某些表。

我希望能够从多个位置引用该代码块,如下所示:

# from controller or model
def ...
  ...
  run `chunk of code`
  ...
end

这是一个非常简单的问题 - chunk of code将去哪里?如何从控制器/模型中运行Rails?

2 个答案:

答案 0 :(得分:1)

计算或表更新属于模型,那么如何在模型中定义一些新的类方法,例如

def self.calculate
  ...
  chunk of code
  ...
end

然后可以从模型和控制器中调用它

答案 1 :(得分:1)

我通过这样做来管理它:

def calculate
   chunk of code
end

然后从模型/控制器调用它:

def some_other_action
  ...
  @record.calculate (or self.calculate in model)
  ...
end