web-dev-qa-db-ja.com

link_toヘルパー内にhamlタグを配置します

hAMLのlink_toヘルパー内にhtmlコンテンツを追加することは可能ですか?

私はこれを試しましたが、私が得るすべては構文エラーです:

= link_to "Other page", "path/to/page.html"
    %span.icon Arrow

期待される出力:

<a href="path/to/page.html">Other Page<span class="icon">Arrow</span></a>
46
flavaflo

あなたはブロックを使用する必要があります

= link_to "path/to/page.html" do
  Other page
  %span.icon Arrow
106
Michał Szajbe

誰かがまだプロジェクトでRails 2.xを使用している場合、受け入れられた回答がブロックを返すように見えるため、マークアップでリンクを複製します。非常に簡単な変更:use - の代わりに =

- link_to "path/to/page.html" do
  Other page
  %span.icon Arrow
11
Paul

最も簡単な方法は、html_safeまたはraw関数を使用することです

= link_to 'Other Page<span class="icon"></span>'.html_safe, "path/to/page.html"

またはraw関数を使用する(推奨)

= link_to raw('Other Page<span class="icon"></span>'), "path/to/page.html"

簡単に入手できます!!

文字列が空でないことが確実でない限り、html_safeメソッドを使用しないでください。代わりに、nilで例外を発生させないraw()メソッドを使用します。

5
Nikhil Nanjappa