views: replace .category-N css classes with .tag-type-N
* Replace the .category-N CSS classes on tags with .tag-type-N. Before we were inconsistent about whether tag colors were indicated with .category-N or .tag-type-N. Now it's always .tag-type-N. * Fix various places to not use Tag.category_for. Tag.category_for does one Redis call per tag lookup, which leads to N Redis calls on many pages. This was inefficient because usually we either already had the tags from the database, or we could fetch them easily.
This commit is contained in:
@@ -354,10 +354,6 @@ class Artist < ApplicationRecord
|
||||
end
|
||||
|
||||
module TagMethods
|
||||
def category_name
|
||||
Tag.category_for(name)
|
||||
end
|
||||
|
||||
def validate_tag_category
|
||||
return unless is_active? && name_changed?
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
class DtextLink < ApplicationRecord
|
||||
belongs_to :model, polymorphic: true
|
||||
belongs_to :linked_wiki, primary_key: :title, foreign_key: :link_target, class_name: "WikiPage", optional: true
|
||||
|
||||
enum link_type: [:wiki_link, :external_link]
|
||||
|
||||
before_validation :normalize_link_target
|
||||
|
||||
@@ -38,10 +38,6 @@ class WikiPage < ApplicationRecord
|
||||
where("is_deleted = false")
|
||||
end
|
||||
|
||||
def recent
|
||||
order("updated_at DESC").limit(25)
|
||||
end
|
||||
|
||||
def other_names_include(name)
|
||||
name = normalize_other_name(name)
|
||||
subquery = WikiPage.from("unnest(other_names) AS other_name").where_iequals("other_name", name)
|
||||
@@ -177,7 +173,7 @@ class WikiPage < ApplicationRecord
|
||||
end
|
||||
|
||||
def category_name
|
||||
Tag.category_for(title)
|
||||
tag&.category
|
||||
end
|
||||
|
||||
def pretty_title
|
||||
|
||||
@@ -3,6 +3,7 @@ class WikiPageVersion < ApplicationRecord
|
||||
belongs_to :wiki_page
|
||||
belongs_to_updater
|
||||
belongs_to :artist, optional: true
|
||||
belongs_to :tag, primary_key: :name, foreign_key: :title, optional: true
|
||||
|
||||
module SearchMethods
|
||||
def search(params)
|
||||
@@ -51,10 +52,6 @@ class WikiPageVersion < ApplicationRecord
|
||||
!is_deleted && previous.is_deleted
|
||||
end
|
||||
|
||||
def category_name
|
||||
Tag.category_for(title)
|
||||
end
|
||||
|
||||
def self.available_includes
|
||||
[:updater, :wiki_page, :artist]
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user