にモジュールを拡張:ルビーオンレール - 次のように私はlibフォルダにモジュールlog_exceptionを持つコントローラ
/lib/log_exception.rb
module LogException
def Log(e, message="")
Rails.logger.error "#{message}: #{e.message}"
e.backtrace[0..13].each {|line| Rails.logger.error line}
end
end
extend LogException
そして今、私はLogメソッドを使用しようとしていますが(これは
Log(e, "Error in home action of DashboardController")
しかし、それは私に次のエラー与えている:
のモジュールが拡張されると、このコントローラに直接)クラスメソッドとなります私も、私はモデル(ユーザー)のいずれかで同じモジュールを拡張し、User.Log(e, "Error in home action of DashboardController")
と同じメソッドを呼び出した場合、それは私のapplication.rbに
config.autoload_paths += %W(#{config.root}/lib)
を次のように設定している
undefined method `Log' for #<DashboardController
正常に動作しますが、コントローラの場合は動作しません。
私は様々なオプションを試しましたが運はありません。
誰でも私が間違っていることを説明できますか?またはどのようにモジュールをコントローラで拡張できますか?
おかげで、それは働きました。 – Tushar
@Tushar no probs、それは問題を解決したので、答えを受け入れることを確認してください。 –
あなたは答えました。もう1つモジュールにインクルードまたは拡張を行わずに同じメソッドに直接アクセスできますか?はいの場合は共有していただけますか? – Tushar