当我尝试运行我的代码时,我收到了上面的错误。
正如您在下图所示,页面帖子/索引叶子在页面页脚之前显示一些信息:
我不明白它可能会来到哪里,因为它是它出现的唯一页面。
以下是我的观点:
<%= @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
有什么想法吗?
答案 0 :(得分:4)
你的错误出现在第一行:
<%= @post.each do |post| %>
应该是
<% @post.each do |post| %>
因为<%=
会打开一个表达式标记,用于显示其内容。
答案 1 :(得分:2)
看起来你输出了@ posts.each的结果。请注意您在视图中如何执行此操作:
<%= @post.each do |post| %>
# other code
<% end %>
这实际上会将数组中的所有数据输出为ruby对象。如果要将此更改为不输出所有内容,则需要将其更改为
<% @post.each do |post| %>
# other code
<% end %>
现在不会在html中返回@ post.each。