我有一个提供一些机架中间件的gem,我可以让它工作的唯一方法是将它放在我的application.rb中
config.middleware.use "TBBC::Editor::Middleware"
如何在应用程序Gemfile中使用我的gem时自动使用此中间件?
解决方法
如果您打算将宝石与Rails 3一起使用,您可以提供一个Railtie.然后,您可以在使用Rails的情况下自动加载它.
假设您的gem的名称是tbbc,请将其放在lib / tbbc / railtie.rb中:
module TBBC class Railtie < Rails::Railtie initializer "tbbc.insert_middleware" do |app| app.config.middleware.use "TBBC::Editor::Middleware" end end end
在lib / tbbc.rb中:
require "tbbc/railtie" if defined? Rails