1

現在、Community Engineを使用してコミュニティを開発していますが、いくつかのモデルを追加する必要があります。

問題は、CEで使用されるヘルパーメソッドが必要なことですが、サイトの新しいセクションにアクセスしようとすると、未定義のメソッドが表示されます(以下のように)

undefined method `logged_in?' for #<ActionView::Base:0x1048f3748>

Logged_in?メソッドはvendor/plugins / 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で宣言されたすべてのヘルパーとメソッドをロードさせるにはどうすればよいですか?

4

2 に答える 2

2

ファイルvendor/plugins / community_engine / init.rbを編集し、次の行を追加してロードできます。

ActionView::Base.send(:include, MyHelper)

ヘルパーをフォルダーvendor/plugins / community_engine/helpersに移動します

module MyHelper
  def my_method_here
    ...
  end
end

この助けを願っています!

于 2011-11-04T15:25:19.593 に答える
0

私が使用したほとんどのサイトでは、authenticated_system.rbファイルを物理的にコピーし#{RAILS_ROOT}/libてチェックインしています。

そうすれば、必要に応じてメソッドをオーバーライドできます。

于 2010-02-27T22:18:27.053 に答える