2011-09-18 9 views

答えて

9

あなたのlibフォルダにヘルパーを置き、どこにでも含めることができます。 のlib/some_helper.rb

module SomeHelper 
    def somedef 
    #your code there 
    end 
end 
+0

'module'の(小文字)すべきですか? –

+0

一定! (15記号) – railscard

6

あなたはクラスメソッドでヘルパーが必要な場合は、あなたがそれをextendする必要があると思い、ないincludeそれ:このよう 。

module TalkHelper 
    def woo; 'hoo' end 
end 

class MyClass 
    extend TalkHelper 

    def self.boo; woo end 
end 

MyClass.boo #=> 'hoo' 

ヘルパーがcontroller、またはお使いのモデルでは使用できません要求のコンテキストから何か他のものに依存してもよいとだけ、ビューコンテキストの外ヘルパーに注意してください。はあなたが必要がないように、あなたのコードをリファクタリングすることです

ApplicationController.helpers.your_helper_method 

OR

YourController.helpers.your_helper_method 

最適なソリューション:あなたのモデルで

41

は、次のような何かを行うことができますモデルからビューヘルパーコードを呼び出すことができます。 RoRの方法ではありません。他の人が指摘するように、あなたはlibフォルダにヘルパーコードを抽出することができます。

詳細はこれを参照してください。

http://railscasts.com/episodes/132-helpers-outside-views

+0

私はあなたの助言に従い、私のコードを屈折させたので、モデルでヘルパーメソッドを使う必要はありませんでした。 – LanguagesNamedAfterCofee

関連する問題