ruby on rails-发布迭代记录



我确信这是一个愚蠢的问题,但我有一个在Rails中构建的待办事项列表应用程序。有项目,项目有很多任务。除了看到项目及其任务外,我还想看到所有任务的简单列表。任务控制器中的索引操作如下所示:

def index
    @tasks = Task.all
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @tasks }
    end
end

在views/tasks/index.html.erb中,我只需要启动以下内容:

  <%= @tasks.each do |t| %>
    <%= t.title %>,
  <% end %>

但当我看/任务时,我会得到:

Task 1, Task 2, Task 3
#<Task:0x103225138>#<Task:0x1031ea998>#<Task:0x1031ea858>

我不明白为什么

#<Task:0x103225138>#<Task:0x1031ea998>#<Task:0x1031ea858>"

正在出现或如何阻止它们出现。即使我没有打印循环代码以外的任何内容,它们也会出现。有什么想法吗?谢谢

<% @tasks.each do |t| %>
  <%= t.title %>,
<% end %>

会解决的。问题是,您使用=打印.each的结果,该结果返回调用它的数组,在本例中为@tasks。所以你的代码有效地做到了这一点:

<% @tasks.each do |t| %>
  <%= t.title %>,
<% end %>
<%= @tasks %>

附带说明:

一个更好的方法是简单的

<%= @tasks.map(&:title).join ", " %>

相关内容

  • 没有找到相关文章

最新更新