Порядок сортировки по наибольшему количеству групп - Ruby on Rails - PullRequest
0 голосов
/ 16 апреля 2010

Я прочитал пару вопросов об этом при переполнении стека, но не могу найти ответ. Я пытаюсь отобразить в своем блоге теги с наибольшим количеством в таблице тегов.

Спасибо KandadaBoggu за помощь в создании функции тегов в блоге, над которым я работаю. Вот основы и мой вопрос.

Тэг принадлежит_пост: пост и тэги Таблица тегов на самом деле проста и состоит из обычных полей scaffolded, а также post_id и tag_name (на самом деле я назвал столбец «tag_name» вместо просто «name»).

в моем файле /views/posts/index.html/erb я правильно отображаю теги по группам и по количеству их использования (отображается в таблице тегов). Я просто хочу знать, как заказать их по наибольшему количеству. Вот код, и в настоящее время он установлен на updated_at:

PostsController

  def index
    @tag_counts = Tag.count(:group => :tag_name, :order => 'updated_at DESC', :limit => 10)
    conditions, joins = {}, nil
    unless(params[:tag_name] || "").empty?
      conditions = ["tags.tag_name = ? ", params[:tag_name]]
      joins = :tags
    end
    @posts=Post.all(:joins => joins, :conditions=> conditions, :order => 'created_at DESC').paginate :page => params[:page], :per_page => 5

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @posts }
      format.json { render :json => @posts }
      format.atom
    end
  end

1 Ответ

2 голосов
/ 16 апреля 2010

Изменить эту строку:

@tag_counts = Tag.count(:group => :tag_name, 
   :order => 'updated_at DESC', :limit => 10)

к этому:

@tag_counts = Tag.count(:group => :tag_name, 
   :order => 'count_all DESC', :limit => 10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...