2012-02-14 10 views
2

私は簡単なブログのRailsアプリを作っていて、ここにタグへのリンクを出力しようとしています:Tags: <%= tag_links(@article.tags) %><br />。 Railsは正しいHTMLを生成しているようですが、ブラウザにはTags: <a href="/tags/1">ruby</a>, <a href="/tags/2">tutorial</a>(文字通り)と表示されます。Rails出力のタグをリテラルhtmlに表示

ソースのHTMLを確認したところ、Tags: &lt;a href="/tags/1"&gt;ruby&lt;/a&gt;, &lt;a href="/tags/2"&gt;tutorial&lt;/a&gt;が表示されます。これは正しいタグに変換されているようですが、HTMLに変換される代わりに文字通りテキストとして表示されます。

答えて

3

使用 "html_safe" 方法のように:

<%= tag_links(@article.tags).html_safe %> 

など "生" を使用します。

<%= raw tag_links(@article.tags) %> 

あなたは戻り値で、独自の方法(tag_links)のものを置く必要があります。例:

def tags_links 
    html = "" 

    html << link_to "some_where", some_url 

    html.html_safe 
end 

希望すると助かります。

2

使用

<%= raw tag_links(@article.tags) %> 

代わりの

<%= tag_links(@article.tags) %> 

raw方法は、自動HTMLのエスケープをバイパスします。

関連する問題