我有一个自定义助手:
module PostsHelper
def post_path(post)
year = post.published_at.year
month = post.published_at.month
month = "0#{ month }" if month < 10
day = post.published_at.day
day = "0#{ day }" if day < 10
"#{ blog_path }/#{ year }/#{ month }/#{ day }/#{ post.raw_title }"
end
end
我想在我用来构建站点地图的config / sitemap.rb文件中使用帮助器。
我在文件中尝试这个:
Post.posts.each do |bp|
add PostsHelper::post_path(bp), priority: 1, changefreq: 'weekly'
end
但我一直收到这个错误:
NoMethodError: undefined method `post_path' for PostsHelper:Module
尝试包含该模块也无济于事(include PostsHelper
):
NoMethodError: undefined method `include' for #<SitemapGenerator::Interpreter:0x000000025086b8>
如何在配置文件中使用自定义Rails助手?
答案 0 :(得分:4)
您必须在config/sitemap.rb
将其添加到config/sitemap.rb
文件的顶部
SitemapGenerator::Interpreter.send :include, PostsHelper