如何使用以及将代码放在哪里不是MVC的一部分

时间:2013-09-30 05:32:32

标签: ruby-on-rails ruby

我编写了ruby代码,用于从Google API中提取内容。它作为独立的example.rb文件运行。我需要将它添加到我的RoR应用程序中。这样做的标准方法是什么?我该如何从控制器调用此代码?我应该在某个模型文件中添加此代码,将代码保存在/lib文件夹中,还是将代码放在/vendor/plugins文件夹中?

1 个答案:

答案 0 :(得分:5)

将其提取到宝石中,或者如果您愿意,可以将其放入lib

如果采取第二种方法,这是一个例子。假设你在一个模块(谷歌)中有它

#lib/google.rb
module Google
  class Uploader
    def initialize
      ...
    end
    def foo
      ...
    end
  end
   ...
end
控制器中的

require 'google'
class MyController < ApplicationController
  def new
    uploader = Google::Uploader.new # do whatever here
    uploader.foo
  end
end

有许多方法可以修改/使用这种模块方法,给定的代码只有一种可能性。