我正在编写一个代码来计算所有字符串组合的长度,将它们加在一起等等,从数据库中收集它们。我不确定id如何将它们全部添加到变量然后将长度添加到该变量。以及如何显示
<h1>Course Rating Information </h1>
<p>
<strong>Number:</strong>
<%= @course.number %>
</p>
<p>
<strong>Year:</strong>
<%= @course.year %>
</p>
<p>
<strong>Name:</strong>
<%= @course.name %>
</p>
<% if @course.comments.exists? %>
<h2>Ratings</h2>
<% @course.comments.each do |comment| %>
<div id='box'>
<p>
<strong>Commenter:</strong>
<%= comment.commenter %>
</p>
<p>
<strong>Score:</strong>
<%= comment.score %>
</p>
<p>
<strong>Comment:</strong>
<%= comment.comment %>
</p>
<p>
<strong>comment length:</strong>
<%= comment.comment.length %>
</p>
<p>
<%= link_to 'Destroy Rating', [comment.course, comment],
method: :delete,
data: { confirm: 'Are you sure?' } %>
<%= @charCount =+ comment.comment.length %>
</p>
</div>
</br></br></br></br></br></br></br></br></br></br></br></br>
<% end %>
<% else %>
<h2>No ratings available</h2>
<% end %>
<%= puts #{@charCount} %>
<%= link_to 'New Comment', new_course_comment_path(@course) %>
<%= link_to 'Back to course listing', courses_path %>
@charcount是应该收集所有总长度的变量
答案 0 :(得分:2)
您可以使用inject
简单计算总长度:
@course.comments.inject(0) { |sum, c| sum + c.comment.length }
如果您想以自己的方式使用,则应在@charCount
阻止之前定义each
:
@charCount = 0
答案 1 :(得分:1)
当然,不止一种方法可以给猫皮肤。在这里,我简单地将它们放在一个数组中并对它们求和:
@charCount = @course.comments.map(&:comment).join.length