简短的问题,初学者在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对象的最后一个转储没有被告知要在视图中的任何地方打印...我不明白它来自哪里,它叫什么,或者如何摆脱它。帮助
答案 0 :(得分:5)
狂野猜测:将<%= @posts.each do |post| %>
更改为<% @posts.each do |post| %>
(注意缺少=
符号)。
<% .. %>
表示“执行此操作”
erb模板中的<%= .. %>
表示“在页面上执行此操作并打印输出”。
@posts.each
是一个循环。它用于迭代@posts
集合。即使each
方法返回一些数据(集合本身),也无需打印该数据。