博客评论如何运作?
How does blog comments works?
我正在观看 mckenzie https://www.youtube.com/watch?v=BI_VnnOLSKY 的 rails 教程,无法理解他是如何为每个 post 制作评论的。 _form 部分看起来像这样:
<%= form_for([@post, @post.comments.build]) do |f| %>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<p>
<%= f.label :description %>
<%= f.text_area :description %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
那他为什么要打电话给这个 [@post, @post.comments.build] ??
然后他为 _comments 制作了另一个部分,如下所示:
<div>
<h3><%= comment.name %></h3>
<p><%= comment.description %></p>
</div>
那么,如果没有像 @comment.each do |comment|
这样的循环,他怎么能不使用 @ 符号就调用 "comment.name"
然后他将 post/show.html.erb 中的所有内容渲染成这样:
<h2><%= @post.comments.count %> Comments</h2>
<%= render @post.comments %>
在第二行中,如何能够将评论作为一种方法仅将其用于_comment部分?
最后是评论控制器:
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(comment_params)
redirect_to post_path(@post)
end
非常感谢!
当你像他对 render @post.comments
那样将一个数组传递给 render
时,就会发生一些魔法,rails 使用 _comment
部分呈现每个评论。 API.
中都有描述
我正在观看 mckenzie https://www.youtube.com/watch?v=BI_VnnOLSKY 的 rails 教程,无法理解他是如何为每个 post 制作评论的。 _form 部分看起来像这样:
<%= form_for([@post, @post.comments.build]) do |f| %>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<p>
<%= f.label :description %>
<%= f.text_area :description %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
那他为什么要打电话给这个 [@post, @post.comments.build] ??
然后他为 _comments 制作了另一个部分,如下所示:
<div>
<h3><%= comment.name %></h3>
<p><%= comment.description %></p>
</div>
那么,如果没有像 @comment.each do |comment|
这样的循环,他怎么能不使用 @ 符号就调用 "comment.name"然后他将 post/show.html.erb 中的所有内容渲染成这样:
<h2><%= @post.comments.count %> Comments</h2>
<%= render @post.comments %>
在第二行中,如何能够将评论作为一种方法仅将其用于_comment部分?
最后是评论控制器:
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(comment_params)
redirect_to post_path(@post)
end
非常感谢!
当你像他对 render @post.comments
那样将一个数组传递给 render
时,就会发生一些魔法,rails 使用 _comment
部分呈现每个评论。 API.