コントローラからヘルパーメソッドを呼び出すことはできますか?はいの場合、Rails 3でこれを行う方法は?Rails 3コントローラからヘルパーメソッドを呼び出す
29
A
答えて
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
関連する問題
- 1. rails 3.1エンジンから親アプリケーションのヘルパーメソッドを呼び出す方法
- 2. Rails 3:コントローラ内の関数を呼び出す
- 3. ヘルパーメソッドを呼び出すページのヘルパークラスからメソッドを呼び出します。
- 4. Rails:別のコントローラを持つデータベースからエントリを呼び出す
- 5. ビューからRailsコントローラでカスタムメソッドを呼び出す方法
- 6. Rails 3では、コントローラのアクションを呼び出すHTML出力を得たい
- 7. コントローラからメソッドを呼び出す
- 8. Ember:コントローラからコンポーネントアクションを呼び出す
- 9. rails 3 - ビューからモデルメソッドを呼び出す
- 10. Rails列挙型のHas_many、through ...メソッドからの呼び出しがコントローラから呼び出せません
- 11. Rails - JavaScriptからCoffeeScriptを呼び出す
- 12. Sails.js、コントローラからの呼び出しルート
- 13. Spring MVC、コントローラ内から別のコントローラを呼び出す
- 14. mvcの別のコントローラからコントローラのメソッドを呼び出す
- 15. Rails 3コントローラからJSONを取得するためのjQuery $ .ajax()呼び出しが304 Not Modified? application.jsで
- 16. ビューからコントローラのメソッドを呼び出す方法は?
- 17. MVC3:別のコントローラからの別のコントローラからビューを呼び出す方法
- 18. RORコントローラからjavascript関数を呼び出すruby
- 19. 私の春のコントローラを呼び出すために、スプリング3
- 20. Rails 3モデルでヘルパーメソッドを表示
- 21. rspecがネームスペースのレール3コントローラでカスタムアクションを呼び出さないのですか?
- 22. コントローラのどのアクションからGSPを呼び出すのか?
- 23. レール3 - 同じコントローラ/アクションを呼び出すが、2つの異なるビューの変更を呼び出す
- 24. Rails 3 HABTM関係のcollection_selectヘルパーメソッド
- 25. Spring-MVC:コントローラ内からではなく、バリデータを呼び出す
- 26. ビューからコントローラ拡張メソッドを呼び出す
- 27. 別のコントローラからメソッドを呼び出す
- 28. コントローラから角度サービスメソッドを呼び出す方法は?
- 29. symfony2のコントローラからエスケープ関数を呼び出す方法
- 30. AngularJS - サービスからコントローラ関数を呼び出す
はい可能です。あなたはここで答えを見つけることができます: http://stackoverflow.com/questions/453762/nomethoderror-when-trying-to-invoke-helper-method-from-rails-controller – alexkv
「view_context.some_helper_method」を回答としてマークしてください君は。 – Vinozio