Проблема с sitemap.xml в приложении Ruby on Rails - PullRequest
0 голосов
/ 16 октября 2019

У меня есть приложение Ruby on Rails, и я создал sitemap.xml файл (в публичном каталоге) с sitemap_generator gem, но он не может быть прочитан в производстве.

sitemap.rb

# Set the host name for URL creation
SitemapGenerator::Sitemap.default_host = "https://example.com"

SitemapGenerator::Sitemap.namer = SitemapGenerator::SimpleNamer.new(:sitemap, :extension => '.xml')

SitemapGenerator::Sitemap.create do

  Category.find_each do |cat|
    add category_path(cat), priority: 0.8, changefreq: 'daily', lastmod: cat.updated_at
  end

  Job.where(status: true).find_each do |job|
    add job_path(job), priority: 0.6, lastmod: job.updated_at
  end

end

errors_controller.rb

class ErrorsController < ApplicationController

  def not_found
    render status: 404
  end

  def unprocessable_entity
    render status: 422
  end

  def internal_server_error
    render status: 500
  end

end

У меня есть все представления для каждого типа ошибок, но Журналы Heroku показать мне:

I, [2019-10-16T11:57:53 #4]  INFO -- : Processing by ErrorsController#not_found as XML
I, [2019-10-16T11:57:53 #4]  INFO -- : Completed 500 Internal Server Error in 2ms (ActiveRecord: 0.0ms)
2019-10-16T11:57:53 app[web.1]: Error during failsafe response: Missing template errors/not_found, application/not_found with {:locale=>[:en], :formats=>[:xml], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder, :haml]}. Searched in:
2019-10-16T11:57:53 app[web.1]: * "/app/app/views"

Команда heroku run rails sitemap: refresh: no_ping создает все ссылки, которые я хочу, но когда я пытаюсь увидеть ссылку https://mywebsite.com/sitemap.xml - я получаю 500 ошибок и не могу видеть содержимое - я не знаю почему. Я думаю, что это может быть некоторые проблемы с контроллером ошибок, потому что https://mywebsite.com/sitemap (без .xml) отображает страницу 404. С .xml это ошибка 500.

На локальном хосте все работает нормально, но в рабочем режиме на Heroku у меня проблемы.

1 Ответ

0 голосов
/ 20 октября 2019

Как я знаю, sitemap_generator создает файл sitemap.xml.gz. Попробуйте открыть your-site.com/sitemap.xml.gz. Работает над моим проектом.

...