2010-10-06 75 views
5

我有一個數組擴展方法,我想在我的Rails 3項目中使用。 它應該住在哪裏?向Rails 3添加Ruby擴展方法的最佳實踐?

我有一個應用程序/類,我最初把它(array_extensions.rb),並在我的config/application.rb我加載路徑:config.autoload_paths += %W(#{Rails.root}/app/classes)。但是,當我下降到rails console擴展未加載。

有沒有預定義的地方我應該把我的擴展方法爲Rails 3?或者,預先定義的方式來添加它們?我知道Rails有它自己的Array擴展方法。我應該把我的地址加到active_support/core_ext/array/conversions.rb

Rails 3的最佳實踐是什麼?

回答

11

更好的方法是在lib/core_ext目錄中創建您的擴展,以輕鬆理解您的core_ext在哪裏。

創建初始化程序後需要此文件。

+0

是的,我忘了提及我也嘗試將它移動到lib,但沒有考慮用於擴展的單獨文件夾。我想我的主要問題是假設Rails會自動加載類擴展。相反,我仍然需要添加一個require子句。 – 2010-10-08 13:17:02

-1

啓動時需要在環境中需要config/initializers中的所有.rb文件;你應該把擴展名放在那裏。

+2

但這並不意味着你應該在那裏放置任何複雜的代碼。這只是爲了配置或需要外部文件。 – 2013-07-09 21:14:06