我是Ruby On Rails的初学者,我正在阅读" Rails入门"现在。
我为文章和评论创建了模型和控制器,一切正常,我能够添加评论并且它们出现在文章视图中,但除此之外我还看到了这种格式的数据库记录:
[# Comment id: 1, commenter ... updated_at: "2016-05-20 09:26:25"]
为什么他们出现以及如何隐藏它?文章代码视图show.html.erb:
<p>
<strong>Title:</strong>
<%= @article.title %>
</p>
<p>
<strong>Text:</strong>
<%= @article.text %>
</p>
<h2>Comments</h2>
<%= @article.comments.each do |comment| %>
<p>
<strong>Commenter:</strong>>
<%= comment.commenter %>
</p>
<p>
<strong>Comment:</strong>>
<%= comment.body %>
</p>
<% end %>
<h3>Add a comment</h3>
<%= form_for([@article, @article.comments.build]) do |f| %>
<p>
<%= f.label :commenter %>
<%= f.text_field :commenter %>
</p>
<p>
<%= f.label :body %>
<%= f.text_area :body %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
<%= link_to 'Edit', edit_article_path(@article) %>
<%= link_to 'Back', articles_path %>
答案 0 :(得分:1)
而不是:
<%= @article.comments.each do |comment| %>
应该是:
<% @article.comments.each do |comment| %>
<%= %>
曾用于呈现某些内容。而且您正在迭代一个对象,因此您需要使用<% %>
。
答案 1 :(得分:1)
改变这个:
<% @article.comments.each do |comment| %>
<%=
所做的是显示他正在处理的任何数据。如果你做<% @article.comments.each do |comment| %>
它也将处理数据,但他不会显示任何内容。然后你可以显示你想要的任何东西:
<%= comment.commenter %>
<%= comment.body %>