2014-05-09 60 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

感謝您的信息 –