Ruby被告知在哪里显示这些信息?

时间:2010-09-28 22:49:59

标签: ruby-on-rails ruby view

简短的问题,初学者在Ruby / Rails上的工作。这是我的观点:

<h1>News</h1>


<%= @posts.each do |post| %>

<h1><%= post.title %></h1>

<p><strong>By:</strong> <%= post.name %></p>

<p><%= post.content %></p>

<p><%= link_to 'Read More', post %> | <%= link_to 'Edit', edit_post_path(post) %> | <%= link_to 'Destroy', post, :confirm => 'Are you sure you want to delete this post?', :method => :delete %></p>

<p>hello!</p>

<% end %>

<br />



<%= link_to 'New Post', new_post_path %>

我将<p>hello<p>放在那里,以便我可以看到输出的来源,但这是页面的样子......


新闻

sdfsfsdfsdf

通过:sdf

Lorem ipsum dolor坐下来,精神上的精神。 Cras risus eros,sed malesuada lectus。 Ut faucibus urna vel risus mollis et pulvinar augue gravida。 Nunc ultricies viverra tellus ...

了解更多|编辑|破坏

您好!

[#<Post id: 5, name: "sdf", title: "sdfsfsdfsdf", content: "Lorem ipsum dolor sit amet, consectetur adipiscing ...", created_at: "2010-09-28 22:43:57", updated_at: "2010-09-28 22:43:57">] 

新帖


在循环之后看起来像XML或JSON对象的最后一个转储没有被告知要在视图中的任何地方打印...我不明白它来自哪里,它叫什么,或者如何摆脱它。帮助

1 个答案:

答案 0 :(得分:5)

狂野猜测:将<%= @posts.each do |post| %>更改为<% @posts.each do |post| %>(注意缺少=符号)。

erb模板中的

<% .. %>表示“执行此操作” erb模板中的<%= .. %>表示“在页面上执行此操作并打印输出”。

@posts.each是一个循环。它用于迭代@posts集合。即使each方法返回一些数据(集合本身),也无需打印该数据。