一直试图在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">]而不仅仅是头衔。我怎么才能解决这个问题?
发布于 2015-09-24 09:53:24
您遇到的问题可能是=语句中的each。
试着使用这个:
<% @blog.comments.each do |f| %> 
  <%= f.title %>
<% end %>注意已删除的= at <% @blog.comments.each do |f| %>
原因是<%= %>总是打印,而<% %>只执行代码。
发布于 2015-09-24 10:00:50
<% @blog.comments.each do |f| %> # remove "="
  <%= f.title %>
<% end %><% ... %>:在括号内执行ruby代码
<%= ...%>:执行ruby代码并在网页中显示执行结果
发布于 2015-09-24 10:01:43
视图中的循环应该如下所示:
<% @blog.comments.each do |f| %>
  <%= f.title %>
<% end %>请检查您使用的是右角括号(<%=,%>),而不是在其中放置p、puts或inspect命令。
编辑:现在显示了使用代码,问题是在第一个圆括号中:应该是<%而不是<%=。第一个是逻辑,后者是输出erb代码。
https://stackoverflow.com/questions/32758338
复制相似问题