在
给出的例子中http://guides.rubyonrails.org/getting_started.html
我对变量“评论”感到困惑。
原始版本是
<h2>Comments</h2>
<% @post.comments.each do |comment| %>
<p>
<strong>Commenter:</strong>
<%= comment.commenter %>
</p>
<p>
<strong>Comment:</strong>
<%= comment.body %>
</p>
<% end %>
在这个版本中,我可以理解“评论”来自|评论|
然后,在第7节中,这部分变为
<h2>Comments</h2>
<%= render @post.comments %>
在app / views / comments / _comment.html.erb中 代码是
<p>
<strong>Commenter:</strong>
<%= comment.commenter %>
</p>
<p>
<strong>Comment:</strong>
<%= comment.body %>
</p>
然后我感到困惑。 “评论”在哪里宣布?
是否有一个教程介绍如何在rails上的ruby中声明变量?
非常感谢。
答案 0 :(得分:3)
This article应该清除它。它的核心是
<% render @post.comments %>
会做与
相同的事情<% @post.comments.each do |comment| %>
<%= render partial: 'comments/comment', locals: { comment: comment } %>
<% end %>
部分模板中的变量comment
由render
声明,由locals
哈希触发。这篇文章进一步解释了你如何从前者获得后者的魔力。