Rails:在哪里进行自定义类注射?

时间:2012-11-14 06:27:51

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

我为我的应用程序写了一些帮助方法,比如这个

module Magick
  class Draw
    def qrcode(qrcode, left_corner, top_corner, right_corner, bottom_corner)
      size = qrcode.modules.length
      width = right_corner - left_corner
      height = bottom_corner - top_corner
      wset = width.to_f / size
      hset = height.to_f / size
...............

将这些代码放在rails中的位置?

2 个答案:

答案 0 :(得分:2)

加载这些补丁的一种常见且简单的方法是在./config/initializers目录(即:rmagick.rb)中创建一个文件,并将您的代码放在此文件中。

此目录中的所有文件都在环境启动时加载并执行。

您还可以使用lib /目录中的代码创建一个新文件(即:rmagick_draw.rb),并在./config/application.rb中添加以下行:

config.autoload_paths += %W(#{config.root}/lib)

然后在任何需要的地方要求文件。

答案 1 :(得分:0)

您可以将此类文件放入 app \ classes 目录中。默认情况下,Rails3中提供了此目录中的所有类。