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

dma*_*exe 0 ruby ruby-on-rails 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 %>
Run Code Online (Sandbox Code Playgroud)

我把它<p>hello<p>放在那里,所以我可以看到输出来自哪里,但这是页面的样子......


新闻

sdfsfsdfsdf

通过:sdf

Lorem ipsum dolor坐下来,精致的adipistur elit.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">] 
Run Code Online (Sandbox Code Playgroud)

最新帖子


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

Nik*_*bak 5

狂野猜测:<%= @posts.each do |post| %>改为<% @posts.each do |post| %>(注意缺少=标志).

<% .. %>在erb模板中意味着"执行此".
<%= .. %>在erb模板中意味着"执行此操作并在页面上打印输出".

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