0

メソッドをコントローラーに追加し、それをヘルパー メソッドとして宣言するプラグインを作成しています。(プラグインではなく)静的に実行した場合、次のようになります。

# in RAILS_ROOT/app/controllers/stuffed_animals_controller.rb
class StuffedAnimalsController < ActionController::Base

  private

  def bear
    'Teddy Bear'
  end

  helper_method :bear

end

# in RAILS_ROOT/app/views/stuffed_animals/index.html.erb:
<%= bear -%>

それはうまく動作します。ただし、実際に:some_helper_methodはヘルパーメソッドであることをテストしたいと思います。私はこれを試しました:

def test_declared_bear_as_helper_method
  assert StuffedAnimalsController.helper_methods.include?(:bear)
end

残念ながら、クラスメソッドActionController::Baseはありません。:helper_methodsクラスが公開するもののリストをどこで取得できるか知っている人はい:helper_methodますか?

4

1 に答える 1

0

とった!

def test_declared_bear_as_helper_method
  helper = Object.new
  helper.extend StuffedAnimalsController.master_helper_module
  assert helper.respond_to?(:bear)
end
于 2009-09-02T14:44:01.517 に答える