帖子中的评论未在rails中正确显示

时间:2015-09-24 09:51:22

标签: ruby-on-rails ruby

尝试在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">]

而不仅仅是标题。我该如何解决这个问题?

4 个答案:

答案 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 putsinspect个命令。

修改 现在您显示使用代码,问题出现在第一个有角括号中:应该是<%而不是<%=。第一个是逻辑,后者是输出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| %>

原因是<%= %>始终打印,而<% %>仅执行代码。