Подпишитесь на рассылку о самых интересных материалах в мире веб-разработки :)

Не получается настроить конфиг приложения


#1

Нужно настроить приложение по созданию sitemap для поисковых систем с помощью github.com/kjvarga/sitemap_generator. Создаю конфиг (файл создал просто через создание текстового файла):

require 'rubygems'
require 'sitemap_generator'

SitemapGenerator::Sitemap.default_host = "http://aptekauralochka.ru"
SitemapGenerator::Sitemap.create_index = :auto
SitemapGenerator::Sitemap.create do

  add '/how_get', :changefreq => 'weekly', :priority => 0.5
  add '/contacts', :changefreq => 'weekly', :priority => 0.5

  # Abc
  add '/abc'
  Abc.find_each do |abc|
    add abc_path(abc), :lastmod => abc.updated_at
  end

end

После запуска приложение отвечает ошибкой:

[email protected]:~/Documents/test$ ruby sitemap.rb
In '/home/zolton/Documents/test/public/':
sitemap.rb:13:in `block in <main>': uninitialized constant Abc (NameError)
	from /home/zolton/.rvm/gems/ruby-2.4.1/gems/sitemap_generator-6.0.1/lib/sitemap_generator/interpreter.rb:61:in `instance_eval'
	from /home/zolton/.rvm/gems/ruby-2.4.1/gems/sitemap_generator-6.0.1/lib/sitemap_generator/interpreter.rb:61:in `eval'
	from /home/zolton/.rvm/gems/ruby-2.4.1/gems/sitemap_generator-6.0.1/lib/sitemap_generator/link_set.rb:40:in `create'
	from /home/zolton/.rvm/gems/ruby-2.4.1/gems/sitemap_generator-6.0.1/lib/sitemap_generator.rb:41:in `method_missing'
	from sitemap.rb:6:in `<main>'

Ошибка именно в блоке “# Abc”, без него скрипт отрабатывает без ошибок. С ним же ругается на константу.

Скорей всего я не правильно подключаю конфиг, но пока не соображу как надо. Опыта в Руби у меня ноль. Помогите, люди добрые.

ruby 2.4.1
rails 5.1.4
ubuntu 16.04


(Сергей) #2

Так уберите этот Abc блок. Это же пример. Abc - это же ваша модель, abc_path(abc) - урлик который будет добавлен в sitemap