0

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
cj3kim
  • 196
  • 2
  • 17

1 Answers1

1

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

<% @posts.each do |p| %>
Dylan Markow
  • 123,080
  • 26
  • 284
  • 201