diff --git a/backend/app/models/nico_tag_relation.rb b/backend/app/models/nico_tag_relation.rb index 239047c..7156dec 100644 --- a/backend/app/models/nico_tag_relation.rb +++ b/backend/app/models/nico_tag_relation.rb @@ -10,7 +10,7 @@ class NicoTagRelation < ApplicationRecord private def nico_tag_must_be_nico - if nico_tag && nico_tag.category != :nico + if nico_tag && nico_tag.category != 'nico' errors.add :nico_tag_id, 'タグのカテゴリがニコニコである必要があります.' end end diff --git a/backend/app/models/post.rb b/backend/app/models/post.rb index 605f627..ecc2f17 100644 --- a/backend/app/models/post.rb +++ b/backend/app/models/post.rb @@ -1,6 +1,6 @@ class Post < ApplicationRecord belongs_to :parent, class_name: 'Post', optional: true, foreign_key: 'parent_id' - belongs_to :user, foreign_key: '' + belongs_to :uploaded_user, class_name: 'User', optional: true has_many :post_tags, dependent: :destroy has_many :tags, through: :post_tags has_many :user_post_views, dependent: :destroy diff --git a/backend/app/models/tag.rb b/backend/app/models/tag.rb index 5ed4968..3b3c6a3 100644 --- a/backend/app/models/tag.rb +++ b/backend/app/models/tag.rb @@ -15,5 +15,15 @@ class Tag < ApplicationRecord validates :name, presence: true, length: { maximum: 255 } validates :category, presence: true, inclusion: { in: Tag.categories.keys } + validate :nico_tag_name_must_start_with_nico + scope :nico_tags, -> { where category: :nico } + + private + + def nico_tag_name_must_start_with_nico + if category == 'nico' && name&.[](0, 5) != 'nico:' + errors.add :name, 'ニコニコ・タグの命名規則に反してゐます.' + end + end end