カテゴリー:
Rails
タグ:
 Rails helper haml

このエントリーをはてなブックマークに追加
更新日時:
2013年02月03日(日)
作成日時:
2013年02月03日(日)

前の記事 / 次の記事

RailsのHelperの中でHaml書けたら便利なのになーと思って調べたメモ。
インデントの扱いが微妙。

参考ページ
Haml レシピブック 11の技

Helperの中であっても、renderメソッドを使ってその中に突っ込むとうまくいくようである。
次のような処理を、

module ApplicationHelper
  def lookup(str, keyword)
    str.gsub(/#{keyword}/) do |matched|
      %Q|<span class="found">matched</span>|
    end
  end
end

次のように書ける。

module ApplicationHelper
  def lookup(str, keyword)
    str.gsub(/#{keyword}/) do |matched|
      render :inline => << -HAML, :type => :haml, :locals => {:matched => matched}
%span.found=matched
      HAML
    end
  end
end

HAMLを開始したらインデント0から始めないといけないのが微妙。