レール上のヘルパーメソッドとlibプラグインアクセス
-
23-09-2019 - |
質問
私は現在、コミュニティエンジンを使用してコミュニティをdelevopingていますが、私はいくつかのモデルを追加する必要があります。
問題は、私はCEで使用されているヘルパー・メソッドを必要とするということですが、私は、サイトの新しいセクションにアクセスしようとすると、私は(下記のような)未定義のメソッドを取得します。
undefined method `logged_in?' for #<ActionView::Base:0x1048f3748>
LOGGED_IN?この方法は、ベンダー/プラグイン/ community_engine / libに/ authenticated_system.rb
でありますこれらの方法は、このようなヘルパー・メソッドとして定義されている
# this is at vendor/plugins/community_engine/lib/authenticated_system.rb
def self.included(base)
base.send :helper_method, :current_user, :current_user_session, :logged_in?, :admin?, :moderator?
end
どのように私は私のRailsアプリケーションの負荷がすべてのヘルパーおよび方法は、私のプラグインのlibに宣言することができますか?
解決
あなたはあなたのファイルベンダー/プラグイン/ community_engine / init.rbを編集し、それをロードするには、この行を追加することができます:
ActionView::Base.send(:include, MyHelper)
とフォルダベンダー/プラグイン/ community_engine /ヘルパー
であなたをヘルパーに移動module MyHelper
def my_method_here
...
end
end
・ホープこのヘルプ!
他のヒント
私が一緒に働いてきたことをほとんどのサイトでは、物理的にauthenticated_system.rb
に#{RAILS_ROOT}/lib
ファイルをコピーして、それをチェックインします。
はそのようにあなたがメソッドをオーバーライドすることができます。
所属していません StackOverflow