1

宝石を作成するためのいくつかの基本を学ぼうとしています。今、私は次のような初期化子を作成しました...

# 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に以下を追加して、GOTITを出力できます。ログに

before_filter :fun_before_filter 

だから私が理解しようとしているいくつかのこと。

だからこれから宝石を作成するには...

  1. このbefore_filterを別の方法で設定する必要があると思いますが、その方法がわかりません。
  2. この初期化子はlibディレクトリに移動し、railsアプリで何らかの方法で自動ロードする必要があると思います。

これらの信念は正しいですか?もしそうなら、どうすればこれに取り組むことができますか?

4

1 に答える 1

0

Railtiesをチェックしたい。これにより、gemで初期化子、またはその他のRails固有の処理を実行できるようになります。

ビフォアフィルターの作成に関しては...これは一般的に最善の解決策ではなく、サンプルから何を達成しようとしているのかを正確に判断するのは困難です。gemが要求/応答サイクルに動作を追加するためのより一般的な方法は、Rackミドルウェアを追加することです。これにより、ユーザーのコントローラーはそのままになります。

于 2012-10-04T05:31:33.220 に答える