2012-02-09 8 views
1

内の個々のファイルをレンダリングし、私は文字列としてレンダリングされたファイルを取得する必要があります。私はヘルパーを書いています仲介

私は私が必要とする方法は、仲介者のライブラリに存在することを参照してください。http://rubydoc.info/github/middleman/middleman/Middleman/CoreExtensions/Rendering/InstanceMethods#render_individual_file-instance_method

私は私のヘルパークラスからこの関数を呼び出すにはどうすればよいですか?

は、私が試した:

require "middleman-core/lib/middleman-core/core_extensions/rendering.rb" 

...

puts Middleman::CoreExtensions::Rendering::InstanceMethods.render_individual_file(filepath) 

しかし、ファイル、任意のアイデアを見つけるように見えるしませんか?

+0

は、なぜあなたはパーシャルメソッドを使用していませんか? –

答えて

0

私は3.0ベータ版は、プライムタイムのためにかなり準備ができているか分かりません。それは部分的な方法のように聞こえるん、と述べた

は、あなたが探しているものです。

0

私は何かが欠けていない限り、仲介方法は、過度に複雑なソリューションのように思えます。私は私のテンプレートの中に全体のテキストファイルをロードしたかったので、私はこのヘルパーを書いた私のサイトの一つのために:

# Shortcut for loading raw text files. Obviously assumes that given file is in a valid format. 
# @return [String] File contents 
def load_textfile(filename) 
    File.read filename.to_s 
end 

またテンプレート内にこれを使用することを意図している場合や、あなた明確にすべきRubyコード内でこれは、あなたの質問に基づいて、私にははっきりしません。ここで

一つは、ヘルパーの上に使用する方法の例です:ノートの

  1. 現在、仲介はバージョン4への移行の過程にあり、ロードヘルパーのための規則が変更されます。 次のようにヘルパーを定義するための最も簡単な方法は、あなたのconfig.rbファイルにhelperブロック内にある:

    helpers do 
        # Define helper functions here to make them available in templates 
    end 
    
  2. 私はテンプレートのためSlimを使用しています。それは本当に最高です。スリムでは、appplyとしてので、ヘルパーになります。

    = load_textfile 'path' 
    p You can embed helper output in your page with interpolation, too: #{load_textfile 'path'} 
    
関連する問題