尝试在Ruby on Rails中设置常规博客,最后让评论系统在帖子中工作。但是,当我遍历每个评论并尝试输出评论的标题时,它会显示这个,
awef [#<Comment id: 6, title: "awef", link: nil, campaign_id: 5, user_id: 1, created_at: "2015-09-24 09:46:43", updated_at: "2015-09-24 09:46:43">]
而不仅仅是标题。我该如何解决这个问题?
答案 0 :(得分:0)
<% @blog.comments.each do |f| %> # remove "="
<%= f.title %>
<% end %>
<% ... %>
:执行括号内的ruby代码
<%= ...%>
:执行ruby代码并在网页中显示执行结果
答案 1 :(得分:0)
视图中的循环应该是这样的:
<% @blog.comments.each do |f| %>
<%= f.title %>
<% end %>
请检查您使用的是右侧括号(&lt;%=%&gt;),而不是在其中放置p
puts
或inspect
个命令。
修改强>
现在您显示使用代码,问题出现在第一个有角括号中:应该是<%
而不是<%=
。第一个是逻辑,后者是输出erb代码。
答案 2 :(得分:0)
经典错误,因为您正在为<%=
循环使用.each
ERB输出标记。你可以view more information on how to write correct ERB here。
您需要将<%=
输出标记替换为标准ERB标记<%
:
<% @blog.comments.each do |f| %>
当我开始时,我被那个人惹恼了。
答案 3 :(得分:-1)
您遇到的问题可能是=
声明中的each
。
尝试使用它:
<% @blog.comments.each do |f| %>
<%= f.title %>
<% end %>
请注意=
<% @blog.comments.each do |f| %>
原因是<%= %>
始终打印,而<% %>
仅执行代码。