在rails中链接标记

时间:2014-05-09 13:38:02

标签: ruby-on-rails erb

我在铁轨上做了一个项目。 Rails在视图中有自己强大的标签。但是有点混乱。我想在锚标签内部有两个元素。那是

   <li>
      <a href="#">
        <h2>Task Name</h2>
        <p>Task Content #5</p>
      </a>
    </li> 

将其更改为link_to标记。

    <% @tasks.each do |task| %>
    <li id="task_<%= task.id %>">
        <%= link_to(task.task_name,{:action => 'show',:id => task.id}) %>
    </li>
    <% end %>

但是我不知道如何在rails中的link_to中添加p标签和h标签。请帮助我。我是铁杆新手。

3 个答案:

答案 0 :(得分:2)

你可以这样包装:

<% @tasks.each do |task| %>
    <li id="task_<%= task.id %>">
        <%= link_to task_path(task.id) do %>
            <h2><%= task.task_name %></h2>
            <p><%= task.task_content %></p>
        <% end %>
    </li>
<% end %>

你甚至可以用content_tag

创建你的html标签
<% @tasks.each do |task| %>
    <li id="task_<%= task.id %>">
        <%= link_to task_path(task.id) do %>
            <%= content_tag :h2, task.task_name %>
            <%= content_tag :p, task.task_content %>
        <% end %>
    </li>
<% end %>

希望有所帮助:)

答案 1 :(得分:1)

使用

<%= link_to {:action => 'show',:id => task.id} do %>
     any contents that you want inside the link
<% end %>

将更多元素放在链接

答案 2 :(得分:1)

<% @tasks.each do |task| %>
  <li id="task_<%= task.id %>">
     <%= link_to {:action => 'show',:id => task.id} do %>
        <h2>Task Name</h2>
        <p>Task Content #5</p>
     <% end %>
  </li>
<% end %>