Ruby on rails 每个循环在循环后输出一个不需要的记录转储
我只是在学习一些rails教程,并构建了一个基本的CRUD应用程序(一个带有评论系统的博客)。 我的问题是,当我循环浏览帖子的每条评论时,在每次循环之后都会显示一个恼人的记录转储。 看起来好像有一些垃圾,但我找不到原因。 以下是循环的代码:Ruby on rails 每个循环在循环后输出一个不需要的记录转储,ruby-on-rails,ruby,Ruby On Rails,Ruby,我只是在学习一些rails教程,并构建了一个基本的CRUD应用程序(一个带有评论系统的博客)。 我的问题是,当我循环浏览帖子的每条评论时,在每次循环之后都会显示一个恼人的记录转储。 看起来好像有一些垃圾,但我找不到原因。 以下是循环的代码: <h3>Comments</h3> <%= @post.comments.each do |comment| %> <div class="well"> <p><strong><
<h3>Comments</h3>
<%= @post.comments.each do |comment| %>
<div class="well">
<p><strong><%= comment.username %></strong>: <%= comment.body %></p>
</div>
<%= link_to "[X]", [comment.post, comment], method: :delete, data: {confirm: 'Are you sure?'}, :class => 'btn btn-danger' %>
<hr>
<% end %>
注释
:
“btn btn危险”%>
以下是注释控制器:
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(comment_params)
redirect_to post_path(@post)
end
private def comment_params
params.require(:comment).permit(:username, :body)
end
def destroy
@post = Post.find(params[:post_id])
@comment = @post.comments.find(params[:id])
@comment.destroy
redirect_to post_path(@post)
end
end
class CommentsController
下面是一个屏幕截图:
非常感谢您的帮助这是
每个
方法返回的可枚举
。改变
<%= @post.comments.each do |comment| %>
到
只是因为你不想看到它是
每个方法返回的可枚举的。改变
<%= @post.comments.each do |comment| %>
到
只是因为您不想看到这里发生的事情,您正在使用
,这是一个ERB标记,它将其内容评估为Ruby,然后将其打印到页面上。但是您不想打印出@post.comments.each do | comment |
的值;你只是想评估一下。这就是
标签(no=
)的作用
您看到文本的原因是
隐式地调用以查看其内容
这个答案有一个完整的ERB标签类型列表:这里发生的事情是您正在使用
,这是一个ERB标签,它将其内容评估为Ruby,然后将其打印到页面上。但是您不想打印出@post.comments.each do | comment |
的值;你只是想评估一下。这就是
标签(no=
)的作用
您看到文本的原因是
隐式地调用以查看其内容
这个答案有一个完整的ERB标签类型列表:哦,太简单了,谢谢!这到底是为了什么,可以用来代替inspect吗?它是返回的,因为enumerable的方法是可链接的哦,那太简单了,谢谢!这样做的目的是什么?是否可以将其用作inspect的替代品?之所以返回,是因为enumerable的方法是可链接的。不要忘记将问题标记为已回答。不要忘记将问题标记为已回答。