2015-11-08 172 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| %> 

因为<%=打开一个表达的标签,将显示其内容。