错误: 模板缺失
缺少模板杂项/站点地图,应用程序/站点地图{:locale => [:en],:formats => [:xml],:handlers => [:erb,:builder]}。搜索:*“/ Users / yliu / Google Drive / ruby projects / Blog / lenswish / app / views”*“/usr/local/rvm/gems/ruby-1.9.3-p194/bundler/gems/twitter-bootstrap -rails-4b8a511e6518 / app / views“*”/usr/local/rvm/gems/ruby-1.9.3-p194/gems/devise-3.1.0/app/views“
rake routes:
GET /sitemap.xml(.:format) miscellaneous#sitemap {:format=>"xml"}
routes.rb中:
get "sitemap.xml", :to => "miscellaneous#sitemap", defaults: { format: "xml" }
控制器:
class MiscellaneousController < ApplicationController
def sitemap
@card_templates = CardTemplate.all
respond_to do |format|
format.xml
end
end
end
模板位置: 应用程序/视图/杂项/ sitemap.xml.builder
模板sitemap.xml.builder中的内容:
# Sitemaps 0.9 XML format: http://www.sitemaps.org/protocol.php
xml.instruct!
xml.urlset :xmlns => 'http://www.sitemaps.org/schemas/sitemap/0.9' do
xml.url do
xml.loc root_url
xml.changefreq 'daily'
xml.lastmod @card_templates.first.updated_at.iso8601
xml.priority '0.8'
end
end
我已经检查了文件权限问题。还是行不通。有人请帮忙。提前谢谢。
答案 0 :(得分:0)
这对我来说不对:
GET /sitemap.xml(.:format) miscellaneous#sitemap {:format=>"xml"}
不应该是这样吗?
GET /sitemap(.:format) miscellaneous#sitemap {:format=>"xml"}
我会改变您的路线:
get "sitemap", :to => "miscellaneous#sitemap"
您的控制器代码应该看起来相同
class MiscellaneousController < ApplicationController
def sitemap
@card_templates = CardTemplate.all
respond_to do |format|
format.xml
end
end
end
答案 1 :(得分:0)
原来这是一个IDE问题,我从textmate ui看到的文件名与我在终端上看到的文件名不同。在我重命名文件后修复。