2

このコードは、最新の 10 件のレコードを取得します

@comments = @topic.comment_threads.order("created_at DESC").page(params[:page]).per(10)

取得したレコードに番号を付けたいと思います。
降順なのでこんな感じになります

"Displaying comments 1 - 10 of 18 in total 

No. 18 Hi
No. 17 Hello
No. 16 Hola
No. 15 Howdy
No. 14 What's up
No. 13 Hi there
No. 12 Yo
No. 11 Oh
No. 10 Ah
No.  9 Eeeee

ビューでこの番号を取得するにはどうすればよいですか? それは次のようなものでなければなりません

<%= "No. " + ????????????? %>
4

2 に答える 2

3

使用するeach_with_index

@comments.each_with_index.map {|comment, index| "No #{index} #{comment}"}
于 2013-01-24T07:53:41.337 に答える
2

更新-2:

下降

<% params[:page] = params[:page].blank? ? 1 : params[:page]%>
<% total = @comments.total_count - ((params[:page].to_i-1)*10)+1 %>
<% @comments.each do |comment| %>
   <%= "No. #{total-=1} #{comment}" %>
<% end %>

昇順

<% params[:page] = params[:page].blank? ? 1 : params[:page]%>
<% i = ((params[:page].to_i-1)*10)+1 %>
<% @comments.each do |comment| %>
   <%= "No. #{i+=1} #{comment}" %>
<% end %>
于 2013-01-24T08:25:36.633 に答える