创建一个简单的todolist。尝试显示属于列表索引视图中列表的任务的说明。使用当前代码,当我使用 list.tasks 时,所有数据字段都显示在属于列表的所有任务中,但我只想要 task.desc。我如何具体告诉我只想让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 :(得分:0)
如果我理解你的问题,你可以使用.each,你已经用于列表迭代:
<% list.tasks.each do |task| %>
<%= task.desc %><br />
<% end %>
答案 1 :(得分:0)
获取每个描述的数组
list.tasks.collect(安培;:降序)
&amp;是一个进入Ruby 1.9的Rails快捷方式 - 它说,在&amp;之后应用方法。到集合的每个成员。
我认为可能想要
list.tasks.collect(&amp;:desc).join(“&lt; br /&gt;”)。html_safe
:)
(您可能不需要html_safe,它用于显示您故意将标记放入字符串中,并且您不希望它被转义)
如果这适合你,我会把它从视图中取出并放在列表类中。如在
def current_tasks
tasks.collect(&:desc)
end
这意味着您可以对此进行测试并在以后重复使用。