2012-01-18 15 views
29

コントローラからヘルパーメソッドを呼び出すことはできますか?はいの場合、Rails 3でこれを行う方法は?Rails 3コントローラからヘルパーメソッドを呼び出す

+6

はい可能です。あなたはここで答えを見つけることができます: http://stackoverflow.com/questions/453762/nomethoderror-when-trying-to-invoke-helper-method-from-rails-controller – alexkv

+0

「view_context.some_helper_method」を回答としてマークしてください君は。 – Vinozio

答えて

36
view_context.some_helper_method 
+1

これはRails 3の最も正しい答えです。 –

28

コントローラにヘルパーモジュールを含めるか、ヘルパーをコントローラメソッドとして定義し、helper_method :method_name経由でヘルパーとしてマークすることができます。

class FooHelper 
    def bar ... end 
end 

class QuxsController 
    include FooHelper 
end 

または

class QuxsController 
    private 
    def bar ... end 
    helper_method :bar 
end 
1

いくつかのいずれかは、すべてのコントローラはApplicationControllerに由来しているためすぐ下にこのinclude ApplicationHelper弾力を追加する他のコントローラやビューでメソッドをApplicationHelper使用したい場合、これが働いています。

class ApplicationController < ActionController::Base 
    protect_from_forgery  
    include ApplicationHelper 
end 
関連する問題