37

私は現在製油所のcmsを使用しています。エンジンを作成し、それを使用していくつかのヘルパーをapp/helpers/admin/. これらのヘルパーをフロントエンド ビュー (つまり ) でも使用したいと思いapp/views/myapp/indexます。しかし、私はできません...未定義のメソッドエラーです。全体をコピーする以外に何をしなければなりませんapp/helpers/か?ヘルパーはこんな感じ

module Admin
    module myHelper
        def somefunc
        end
    end
end

somefunc管理モジュールの外部で使用することは可能ですか?

4

3 に答える 3

62

非標準パスからのヘルパーをビューに含める「Rails の方法」は、コントローラー内で .helper メソッドを使用することです。

class MyController < ApplicationController
    helper Admin::MyHelper
    ...
end

http://apidock.com/rails/AbstractController/Helpers/ClassMethods/helper

于 2012-08-12T08:47:57.890 に答える
28

あなたのapplication_helper.rb

module ApplicationHelper
  include Admin::MyHelper
end

これにより、これらのヘルパー メソッドが にインポートApplicationHelperされ、ビューで使用できるようになります。これは、どのヘルパーでも実際に行うことができます。

于 2011-05-20T12:15:11.767 に答える
1

モジュールの外部Admin::myHelper::somefuncから呼び出すように、完全なオブジェクト参照を使用しようとする場合があります。somefuncAdmin

于 2011-05-20T12:11:57.797 に答える