rails 3 link_to与嵌套的content_tag一起创建<带有嵌套span的href - 如何?

use*_*945 10 href link-to ruby-on-rails-3 content-tag

嗨,我有一个noob问题,我想创建以下HTML结果:

<a href="/controller/action" class="button-big layer">TEXT<span class="arrow-big"></span></a>
Run Code Online (Sandbox Code Playgroud)

在上面的HTML中,我希望通过css将带有span-class的文本设置为图像样式.

当我尝试以下实现时,结果只反映了所需实现的一部分:

<%= link_to "TEXT", controller_path, :class => "button-big layer" %>
Run Code Online (Sandbox Code Playgroud)

结果是:

<a href="/controller/action" class="button-big layer">TEXT</a>
Run Code Online (Sandbox Code Playgroud)

<%= link_to(content_tag(:span, "", :class => "arrow-big"), controller_path, :class => "button-big layer") %>
Run Code Online (Sandbox Code Playgroud)

结果是:

<a href="/controller/action" class="button-big layer"><span class="arrow-big"></span></a>
Run Code Online (Sandbox Code Playgroud)

有谁知道怎么做?

Joh*_*hny 30

您还可以使用link_to helper的替代语法来嵌套标记

<%= link_to controller_path, :class=> "button-big layer" do %>
  Text
  <%= content_tag(:span, "", :class => "arrow_big" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)


Thi*_*ilo 10

只需将文本与"span"连接即可:

<%= link_to(("TEXT" + content_tag(:span, "", :class => "arrow-big")).html_safe,
             controller_path,
             :class => "button-big layer") %>
Run Code Online (Sandbox Code Playgroud)

你需要围绕连接的.html_safe,因为+运算符否则将转义content_tag的HTML.