【发布时间】:2013-09-13 15:15:11
【问题描述】:
我打算使用 Ruby 模块向 String 类添加一个函数。 http://snippets.aktagon.com/snippets/584-generating-word-n-grams-with-ruby
但是,我不知道将 Ruby 模块放在哪里,以便每个字符串对象都可以使用这个函数。
在 Rails 中我应该把模块放在哪里?
【问题讨论】:
标签: ruby-on-rails ruby
我打算使用 Ruby 模块向 String 类添加一个函数。 http://snippets.aktagon.com/snippets/584-generating-word-n-grams-with-ruby
但是,我不知道将 Ruby 模块放在哪里,以便每个字符串对象都可以使用这个函数。
在 Rails 中我应该把模块放在哪里?
【问题讨论】:
标签: ruby-on-rails ruby
将其放入app/helpers 中,使用common_methods.rb 之类的名称,然后使用require 'common_methods' 将其添加到您的控制器中。这样您就可以在所有控制器中使用相同的功能。
【讨论】:
这样的方法通常放在config/initializers 目录中,Rails 启动时自动需要该目录中包含的 ruby 文件。
另一个选项在 lib 中,但必须在某处明确要求它们。
有关详细信息,请参阅 Configuring Applications 上的 Rails 指南。
【讨论】:
lib,然后将require 'thing-in-lib' 放入config/initializers 似乎是一种很常见的模式。