2016-05-03 3 views
0

上のオブジェクトとして印刷結果は私のposts_controller.rbがここルビー - ここに私のhtml

class PostsController < ApplicationController 
    def index 
     @posts = Post.all.order("created_at DESC") 
    end 

    def new 
    end 

    def create 
     @post = Post.new(post_params) 

     @post.save 
     redirect_to @post 
    end 

    def show 
     @post = Post.find(params[:id]) 
    end 

    private 
     def post_params 
      params.require(:post).permit(:title, :body) 
     end 
end 

である私のindex.html.erb

<%= @posts.each do |post| %> 
    <div class="post_wrapper"> 
     <h2 class="title"><%= link_to post.title, post %></h2> 
     <p class="date"><%= post.created_at.strftime("%B, %d, %Y") %></p> 
    </div> 
<% end %> 

はここでページがどのように見えるかですされています。 screenshot

なぜ[]行が表示されますか? どのように非表示/削除できますか?

+0

使用 '<%@posts 。各|ポスト| %> ''なし ''の ' –

+0

' show.html.erb'ファイルは 'index.html.erb'ではないのですか? – Uzbekjon

答えて

0

変更=-へ:

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

あなたはERB <%=で見るには、このRubyのコードを実行すると言う​​3210として表示、印刷にこれを意味します。

Rubyのすべてが式であるため、@posts.each do |post|; end %>ブロックは@postsの配列を返し、ビューにレンダリングされます。

0

=などの削除: - " - " または単に削除 "=" この行が問題である、あなたは=

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

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

または

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

<% %>は - プリントERB

<%# %>に - -

<%= %>式の後に改行を回避 - Rubyコード

<%- %>を実行するコードをコメント

0

変更 "=" する必要はありません

<%- @posts.each do |post| %> 
関連する問題