2015-11-08 67 views
-1

當我嘗試運行我的代碼時,我得到了上述錯誤。如何隱藏查看數據庫信息?

正如你可以在下面的圖片上看到,頁面職位/索引葉出現在頁面的頁腳之前的一些信息:

enter image description here

我不明白的地方它可能會,因爲它是它出現的唯一頁面。

這是我的觀點:

<%= @post.each do |post| %> 
<h1 class="Blog_post_title"><%= link_to post.title, post %></h1> 
<p class="date"><%= post.created_at.strftime("%B, %d, %Y") %></p> 
<p><%= image_tag post.landing_image.url , class: "landing_image_blog" %></p> 
<p><%= post.body %></p> 
<%= link_to post do %> 
<div class="button12">Continuer la lecture</div> 
<% end %> 
<div class="border_grey_blog"></div> 
<% end %> 
</div> 
<%= render "footer" %> 

我posts_controller.rb:

class PostsController < ApplicationController 

def index 
    @post = Post.all.order('created_at DESC') 
end 

def new 
    @post = Post.new 
end 

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

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

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

    if @post.update(params[:post].permit(:title,:title2,:title3,:title4,:title5,:title6,:title7,:title8,:title9, :body, :image,:image1,:image2,:image3,:image4,:image5,:image6,:image7,:image8, :landing_image, :some_text1, :some_text2, :some_text3, :some_text4, :some_text5, :some_text6, :some_text7, :some_text8, :some_text9, :some_text0)) 
     redirect_to @post 
    else 
     render 'edit' 
    end 
end 


def create 
    @post = Post.new(post_params) 
    if @post.save 
     redirect_to @post 
    else 
     render 'new' 
    end 
end 

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

    redirect_to "/posts" 
end 

private 

def post_params 
    params.require(:post).permit(:title, :body, :image,:image1,:image2,:image3,:image4,:image5,:image6,:image7,:image8, :landing_image, :some_text1, :some_text2, :some_text3, :some_text4, :some_text5, :some_text6, :some_text7, :some_text8, :some_text9, :some_text0, :title2,:title3,:title4,:title5,:title6,:title7,:title8,:title9) 
end 
end 

任何想法?

回答

2

它看起來像你輸出@ posts.each的結果。請注意,您是如何在您的視圖中執行此操作的:

<%= @post.each do |post| %> 
    # other code 
<% end %> 

這實際上會將數組中的所有數據輸出爲ruby對象。如果你想改變這不輸出的一切,你需要將其更改爲

<% @post.each do |post| %> 
    # other code 
<% end %> 

這不,現在在html返回@ post.each。

+0

就是這樣,謝謝! –

4

你的錯誤是在視圖中的第一行:

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

應該

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

因爲<%=打開一個表達的標籤,將顯示其內容。