このコミットが含まれているのは:
2026-10-18 18:28:05 +09:00
コミット 569b9234c6
25個のファイルの変更、483行の追加、144行の削除
+8 -17
ファイルの表示
@@ -37,27 +37,18 @@ class WikiPagesController < ApplicationController
def autolink_candidates
locale = resolve_locale!
language = params.fetch(:language, locale.language_code)
language = 'ja' if language == 'und'
return head :not_found unless language.is_a?(String)
target_locale =
if language == 'und'
locale
else
Locale.where(language_code: language, deprecated_at: nil,
code: Locale.codes.values).order(:code).first
end
return head :not_found unless target_locale
return head :not_found unless Language.exists?(code: language)
candidates = []
unless language == 'und'
names = TagDescription.joins(tag: :tag_names)
.where(language_code: language, tag_names: { language_code: language })
.pluck('tag_descriptions.tag_id', 'tag_descriptions.id', 'tag_names.name')
candidates = names.map do |tag_id, description_id, name|
WikiPageRepr.autolink_tag(target_locale, tag_id:, description_id:, name:)
end
names = TagDescription.joins(tag: :tag_names)
.where(language_code: locale.language_code, tag_names: { language_code: language })
.pluck('tag_descriptions.tag_id', 'tag_descriptions.id', 'tag_names.name')
candidates = names.map do |tag_id, description_id, name|
WikiPageRepr.autolink_tag(locale, tag_id:, description_id:, name:, language:)
end
candidates.concat(TagGroup.order(:id).pluck(:id, :name).map do |id, name|
WikiPageRepr.autolink_group(target_locale, id:, name:, language:)
WikiPageRepr.autolink_group(locale, id:, name:, language:)
end)
render json: candidates
end