2013-11-27 23 views
0

我們的rails 3.2 application_controller中有幾個方法定義。這些方法適用於所有控制器。我們希望將這些方法定義放入一個文件search_stats_actions.rb中,並將其包含在application_controller中。將文件search_stats_actions.rb放入哪個子目錄以及文件應該如何包含在application_controller中?我們正在尋找首選的做法。如何將方法定義放入單個文件並將其包含在rails application_controller中?

該文件在rails引擎中,而不是在rails應用程序中。

回答

1

對我來說,這將是一個模塊,將被放在lib目錄下。請確保在您的config/application.rb中包含lib目錄中的config.autoloads_path。有關詳細信息,請參閱the Rails app configuration guide

然後,在您的ApplicationController中,您可以使用include您剛創建的模塊。

class ApplicationController 
    include <module name> 

    ... 
end 
+0

對於rails引擎,在/ config下沒有application.rb。我們可以在rails/config下創建application.rb嗎?或者對於軌道引擎解決方案會有所不同。謝謝。 – user938363

+0

有趣。這是一個默認文件。請參閱:http://guides.rubyonrails.org/configuring.html – CDub

1

更好的地方,該模塊(比如MY_CUSTOM_MODULE)在隨機配備的config.autoloads_path的 「LIB」 文件夾。然後,您可以按如下方式將模塊包含在ApplicationController中:

class ApplicationController 
    include <MY_CUSTOM_MODULE> 
    ... excluded for brevity... 
end 
相關問題