Unintended Layout Output - RoR 3.0.1.1 [duplicate]

别来无恙 提交于 2019-12-12 05:24:17

问题


I recently started learning RoR. My problem is I get an unintended output when I call the post in the html.erb file.

1 class TestSiteController < ApplicationController 
2   def Home 
3     @greeting = 'Hello' 
4     @posts = Post.all 
5
6     respond_to do |format|
7       format.html 
8       format.xml  { render :xml => @posts }
9       format.json { render :json => @posts }
10     end
11   end    


1 <h1>testsite#home</h1>
2 <%= link_to "contact", about_us_path %>
3 
4 <table>
5 <%= @posts.each do |p| %> 
6 <tr>
7   <td><%= p.topic %></td>
8   <td><%= p.post %> </td> 
9 </tr>
10 <% end %>
11 </table>

I get the list of posts I want below, but on top of the list is an array of posts I do not want outputted. Anyone know why this is happening?

Below is the output:

//Unwanted array
[#<Post id: 1, topic: "Rainy Day", post: "Today was a rainy day", created_at: "2012-03-29    21:22:43", updated_at: "2012-03-29 21:22:43">, #<Post id: 2, topic: "It works!", post: "Saving   data from the rails console to the mysql db ...", created_at: "2012-03-29 21:25:18", updated_at: "2012-03-29 21:25:18">]
//List start
Rainy Day   Today was a rainy day
It works!   Saving data from the rails console to the mysql db work! I'm so ecstatic! :D

回答1:


You're outputting the contents of @posts because you're using <%=. You should change it to <%:

<% @posts.each do |p| %>


来源:https://stackoverflow.com/questions/9934251/unintended-layout-output-ror-3-0-1-1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!