Rails генератор карт сайта, неопределенный метод post_path? - PullRequest
1 голос
/ 01 февраля 2011

Я использую следующий самоцвет:

https://github.com/kjvarga/sitemap_generator

У меня есть модель сообщений, и я использовал post_path (post) в других частях приложения, поскольку оно основано на Enki.

Однако в файле карты сайта:

Post.all.each do |post|
    sitemap.add post_path(post), :lastmod => post.updated_at
  end

Возвращает ошибку при запуске rake site rake site site: refresh:

rake aborted!
undefined method `post_path' for #<SitemapGenerator::Interpreter:0x279efd0>

И:

Post.all.each do |post|
  sitemap.add posts_path(post), :lastmod => post.updated_at
end

Возвращает без ошибок.Кто-нибудь может пролить свет на это или мне нужно предоставить больше кода?

Ответы [ 2 ]

3 голосов
/ 10 сентября 2012

sitemap_generator на самом деле включает все вспомогательные методы в блоке create, поэтому вы должны иметь доступ posts_path.

У меня была похожая проблема, и мояответ также заставил меня чувствовать себя глупо.Я хранил sitemap.rb в config/initializers, когда он должен храниться в каталоге config/.Это означало, что он запускается при запуске и дает сбой, потому что помощники URL не были загружены должным образом (и, кстати, когда я позвонил rake sitemap:refresh, карта сайта генерировалась дважды - один раз в инициализаторе и снова какграбли!)

0 голосов
/ 05 февраля 2011

Я чувствую себя немного глупо из-за этого, просто потому что post_path был помощником и недоступен, поэтому мне просто пришлось перенести его в метод напрямую.

...