home_controller.rb:
class HomeController < ApplicationController
def index
@title = "tags"
@posts = Post.tag_counts.collect do |tag|
Post.tagged_with(tag).first
end
@posts.flatten.uniq
@posts = @posts.paginate :page => params[:page], :per_page => 8
end
end
index.html.erb:
<%- for post in @posts -%>
<%- post.tags.each do |t| -%>
<%= link_to t.name, tag_path(t) %>
<%- end -%>
<%= link_to post.title, post %>
<%- if post.comments.empty? -%>
<% else %>
<%= link_to pluralize(post.comments.count, 'reply'), :controller => 'posts', :action => 'show', :id => post %>
<%- end -%>
<%= timeago(post.updated_at) %>
<%- end -%>
<%= will_paginate @posts, :previous_label => '<', :next_label => '>' %>
Цель этого представления - показать последнее сообщение каждого тега. Временная метка updated_at сообщения обновляется каждый раз, когда этот комментарий комментируется.
выводит сообщения с таким порядком:
tag id = 1
tag id = 2
tag id = 3
...
Может кто-нибудь сказать, почему в приведенном выше коде сообщения отображаются в том порядке, в котором они были созданы?