Ruby on rails 为什么rails会将数据转储到每个页面上的页面

Ruby on rails 为什么rails会将数据转储到每个页面上的页面,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个简单的控制器,名为list\u controller,它的索引基本上是 def index @lists = List.all end 然后我有一个名为index.html.haml的视图,它看起来像: %h1 My lists = @lists.each do |list| .row-fluid %h2= list.title %p= list.description %hr = link_to "New list", new_list

我有一个简单的控制器,名为list\u controller,它的索引基本上是

def index
    @lists = List.all
end
然后我有一个名为index.html.haml的视图,它看起来像:

%h1 My lists
= @lists.each do |list|
    .row-fluid
        %h2= list.title
        %p= list.description
%hr
= link_to "New list", new_list_url
这可以工作并呈现,但在我的列表底部是列表对象的ruby打印,在本例中是一个漂亮的大丑陋:

[#<List id: 1, title: "Petes todo list", description: "This is petes main list, all sorts of good stuff", created_at: "2012-03-26 21:42:57", updated_at: "2012-03-26 21:42:57">, #<List id: 2, title: "Petes work list", description: "A list for petes work stuff", created_at: "2012-03-26 22:09:50", updated_at: "2012-03-26 22:09:50">]
[#,#]

为什么会这样?如何停止它?

您正在输出每个
的结果,更改:

= @lists.each do |list|
致:



Haml文档:vs

=@lists.each do | list |
告诉Haml在右侧计算Ruby代码,然后打印返回值。你应该把你的观点改写成

%h1 My lists
- @lists.each do |list|
    .row-fluid
        %h2= list.title
        %p= list.description
%hr
= link_to "New list", new_list_url
%h1 My lists
- @lists.each do |list|
    .row-fluid
        %h2= list.title
        %p= list.description
%hr
= link_to "New list", new_list_url