嵌套 html 与 content_tag

Nested html with content_tag

我想使用 content_tag 或 content_tag_for:

得到这个 html
<a href="javascript:;" class="nav-link ">
  <%= fa_icon 'book', 'aria-hidden': true %>
  <span class="title">Courses</span>
</a>

我可以把 fa_icon 放在 link_to 里面,但是不知道怎么放 span。如果它不可行,如果我这样做怎么办:

<a href="<%=courses_path%>" class="nav-link ">
  <%= fa_icon 'book', 'aria-hidden': true %>
  <span class="title">Courses</span>
</a>

为什么不是以下内容?:

<%= link_to "javascript:;", class: "nav-link" do %>
  <%= fa_icon 'book', 'aria-hidden': true %>
  <%= content_tag :span, "Courses", class: "title" %>
<% end %>

我会尝试 link_to ... do。因为它是比 content_tag 更具描述性的标准方法,所以我认为当您从现在开始 2 年后回来进行维护时,会更容易理解代码的初衷。

您的代码段可能如下所示:

<%= link_to courses_path, class: 'nav-link' do %>
  <%= fa_icon 'book', 'aria-hidden': true %>
  <span class="title">Courses</span>
<% end %>

这是 Rails 4.2 的文档:http://apidock.com/rails/v4.2.1/ActionView/Helpers/UrlHelper/link_to