テキストとロゴ画像を使用してログインボタンを作成するためのRailsヘルパーを作成しています。テキストまたはimage_tagの結果のみをコンテンツとして配置すると、非常にうまく機能します。
def test_helper
anchor = content_tag :a, "enter by", :href => '#'
concat content_tag :div, anchor, :class => 'login'
end
# result:
# <div class="login"><a href="#">enter by</a></div>
def test_helper
anchor = content_tag :a, image_tag("logo.png"), :href => '#'
concat content_tag :div, anchor, :class => 'login'
end
# result:
# <div class="login"><a href="#"><img src="assets/logo.png" /></a></div>
しかし、連結の結果を渡そうとすると、htmlソースにエスケープ記号が付いたimgタグが返されます。
def test_helper
anchor = content_tag :a, "enter by" + image_tag("logo.png"), :href => '#'
concat content_tag :div, anchor, :class => 'login'
end
<div class="login"><a href="#">enter by<img src="/assets/logo.png" /></a></div>
文字列とcontent_tagの結果を適切に連結するにはどうすればよいですか?