2012-10-04 41 views
1

只是想学习创造了宝石的一些基础知识。现在我已经创建了一个看起来像一个初始化...我如何做一个Rails 3初始化模块成宝石

# config/initializers/fun_logger.rb 
module FunLogger 
    def fun_before_filter 
    logger.info("\n\n\nGOT IT!\n\n\n") 
    end 
end 

ActionController::Base.send(:include, FunLogger) 

这让我以下内容添加到我的ApplicationController,它打印出了它!在日志中

before_filter :fun_before_filter 

所以我想弄明白一些事情。

所以创建一个宝石出这...

  1. 我相信我应该是设置此的before_filter一些其他的方式, 但不知道该怎么做。
  2. 我相信这初始化应该是 移动到lib目录和自动加载Rails应用程序以某种方式。

是这些信仰正确,如果是的话我怎么去呢?

回答

0

你想看看Railties。这会得到你的宝石运行初始化,或特定的Rails任何其他的东西,你可能要完成的任务。

至于滤波器之前制作......这通常不是最佳的解决方案,并且很难从样品来告诉你要完成什么。更常规方式用于宝石来添加行为到请求/响应循环是通过添加Rack middleware,其单独离开用户的控制器。