Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在视图中隐藏数据库信息?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何在视图中隐藏数据库信息?

Ruby on rails 如何在视图中隐藏数据库信息?,ruby-on-rails,ruby,Ruby On Rails,Ruby,当我试图运行我的代码时,我得到了上面的错误 如下图所示,页面帖子/索引页在页面页脚前显示一些信息: 我不知道它会从哪里来,因为这是它出现的唯一一页 以下是我的看法: <%= @post.each do |post| %> <h1 class="Blog_post_title"><%= link_to post.title, post %></h1> <p class="date"><%= post.created_at.strf

当我试图运行我的代码时,我得到了上面的错误

如下图所示,页面帖子/索引页在页面页脚前显示一些信息:

我不知道它会从哪里来,因为这是它出现的唯一一页

以下是我的看法:

<%= @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" %>

连续洛杉矶讲座
my 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
class PostsController

有什么想法吗

您的错误出现在视图的第一行:

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

应该是

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


因为
它看起来像是您输出@posts.each的结果。请注意您在视图中是如何做到这一点的:

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

#其他代码
这实际上会将数组中的所有数据作为ruby对象输出。如果要将其更改为不输出所有内容,则需要将其更改为

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

#其他代码
现在不会返回html中的@post.each