На моем сайте, когда вы создаете страницу продукта, вы можете загружать файлы или добавлять ссылки. Чтобы запретить вводить те же ссылки на странице тот же продукт , есть это
validate :check_download_links_unique!
def check_download_links_unique!
urls = download_links.reject(&:marked_for_destruction?).map!(&:url).compact.to_a
errors.add(
:download_links, :links_repetition
) if urls.uniq.length != urls.length
end
Теперь я хочу проверить еще одну вещь. Я хочу запретить ввод той же ссылки , уже добавленной на страницу другого продукта .
Я пытался добавить в models / download_link.rb что-то подобное
validates :url, uniqueness: true
Но он также блокирует загрузку файлов . Любые советы?
модели
# == Schema Information
#
# Table name: download_links
#
# id :integer not null, primary key
# url :string
# broken :boolean default(FALSE), not null
# book_id :integer
# file_file_name :string
# file_content_type :string
# == Schema Information
#
# Table name: books
#
# id :integer not null, primary key
# title :string not null
# slug :string not null
# description :text not null
# user_id :integer
# downloads_count :integer default(0), not null