如何在Rails 3中的所有内容都可访问的插件中创建库函数?

时间:2011-02-03 05:33:50

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

我想创建一个插件库函数,可以在我的rails应用程序的任何地方使用。我确信这一定很容易,但我似乎无法找到如何做到这一点的例子。到目前为止,我发现的所有教程都展示了如何只扩展类或创建仅在模型或控制器内部工作的方法。

即使RailsGuide似乎也没有显示如何执行此操作。

嘿谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

最简单的方法是创建一个模块或类方法,然后调用它。例如:

module MySpecialModule
  def self.do_something
    puts 'hello world'
  end
end

然后,可以从任何地方调用以下内容:

MySpecialModule.do_something

如果您真的想从Ruby中的每个对象调用do_something方法,那么您可以像这样扩展对象类:

class Object
  def do_something
    puts 'hello world'
  end
end

class K
end

K.new.do_something
=> hello world

您可以使用相同的方法扩展任何基类,例如ActiveRecord :: Base。