2014-05-09 40 views
0

我在轨道中做了一个项目。 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中添加p标签和h标签内的link_to。请帮助我。我是新来的铁轨。

回答

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

<% @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 %> 

创建的HTML标记希望它能帮助:)

+0

感谢您的信息。这对我很有帮助 –

+0

没问题!注意你的路径声明,因为'{:action =>'show',:id => task.id}'不会返回任何东西..你需要确保指出你想要路由哪个'controller'它来。在这种情况下,你的控制器可能是“任务”,但使用像'task_path(task.id)'这样的路由助手更清洁..你可以检查你的控制台中所有的路由w /'rake routes' – rorofromfrance

+0

感谢这些信息。我是这个框架的新手。我对铁轨知之甚少。 –

1

使用

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

把更多的元素放在链接内

+0

感谢提供信息 –

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 %> 
+0

感谢您的信息 –