2012-12-22 70 views
1

創建簡單的todolist。嘗試顯示任務的說明,該任務屬於列表索引視圖中的列表。使用當前代碼,當我使用list.tasks時,所有數據字段都顯示在屬於列表的所有任務中,但我只想要task.desc。我如何專門告訴rails,我只想要task.desc出現?在屬於視圖的索引視圖中顯示特定數據

列表/ index.html.erb

<h1>My Lists</h1> 

     <%= link_to 'New List', new_list_path, class: "btn btn-primary" %> 

     <h3>Name | Time Ago</h3> 

    <% @lists.each do |list| %> 

     <h4><%= link_to list.name, list %></td></h4> 

     <% if list.created_at > Time.now.beginning_of_day %> 
     <%="#{time_ago_in_words(list.created_at)} ago"%> 
     <% else %> 
     <h6><%= list.created_at.strftime("%b %d, %Y") %></h6> 

     <%= list.tasks %><br /> 
      <% end %> 


     <%= link_to 'Edit', edit_list_path(list) %> | 
     <%= link_to 'Destroy', list, method: :delete, data: { confirm: 'Are you sure?' } %> 
     <br /> 
    <% end %> 
    <br /> 

回答

0

如果我正確理解你的問題,你可以使用。每次,你已經使用了列表進行迭代:

<% list.tasks.each do |task| %> 
    <%= task.desc %><br /> 
<% end %> 
0

要獲得每個描述的數組

list.tasks.collect(&:desc)

&是Ruby 1.9的一個Rails快捷方式 - 它說,將&後面的方法應用到集合的每個成員。

我想你可能

list.tasks.collect(&:DESC)。加入(」 < BR />").html_safe

:)

(可能不需要html_safe,它用來顯示你故意將標記放在一個字符串中,而不希望它被轉義)

如果這對你有用,我會把它帶出視圖,在列表類中。如在

def current_tasks 
    tasks.collect(&:desc) 
end 

這意味着您可以測試並稍後再使用它。

相關問題