在Rails中放置代码片段的位置?

时间:2010-05-21 05:00:46

标签: ruby-on-rails ruby

我有这段代码片段,可以为POST生成签名。它的细节并不重要,但我想知道的是:因为它不是与模型相关的代码块,它实际上可以在任何地方使用:控制器,模型,视图助手;甚至在观点中。因此,我不确定在将其放置在某个位置时如何激活它的使用,甚至更大的问题。

那些“需要”的陈述是什么意思?您可以通过当前正在处理的文件中的“require”语句获取某些功能吗?

我们有一个例子来讨论,比方说,我有一小段代码可以实现立方体化:

def cube_it(num)
  num**3
end

我知道我将在整个应用程序的不同位置使用它,那么我应该把它放在哪里?当我确实需要使用它时,我怎么能“召唤”它呢?

谢谢

2 个答案:

答案 0 :(得分:4)

我建议将代码放在Math中名为lib/math.rb的模块中。

math.rb
module Math
  class << self
    def cube_it(num)
      num*3
    end
  end
end

您不需要任何需要声明(rails为您执行此操作),您可以使用Math.cube_it("Hi")轻松调用它。

还有其他方法可以向rails应用程序添加代码,但这是最好的方法。

答案 1 :(得分:2)

Rails首次使用时自动加载模块和类。您可以将函数放入模块(或类)中,并将文件放入应用程序的lib目录中。经常在Rails应用程序中不使用require语句。