#ruby-on-rails-3
#ruby-on-rails-3
Вопрос:
Я хочу удалить все отображаемые дублирующиеся теги и иметь максимальное количество тегов 10, отображаемых на странице индекса. Есть предложения о том, как я мог бы это сделать?
/controller/tags_controller
class TagsController < ApplicationController
def show
@tag = Tag.limit(10).all
@tag = Tag.find(params[:id])
@articles = @tag.articles
end
end
end
модель/tag.rb
class Tag < ActiveRecord::Base
validates :name, :uniqueness => true
#default_scope :order => 'created_at DESC'
has_many :taggings, :dependent => :destroy
has_many :articles, :through => :taggings
end
Ответ №1:
Чтобы избежать дублирования и упорядочить по дате публикации в вашей модели тегов :
validates :name, :uniqueness => true
default_scope :order => 'created_at DESC'
Чтобы получить десять первых тегов, в вашем контроллере :
@tags = Tag.limit(10).all
Вуаля!
Комментарии:
1. уникальность и необычность работ. @tags = Tag.limit(10).all не оказывает никакого эффекта?!