Error de plantilla faltante de Rails xml.builder
Frecuentes
Visto 954 veces
1
Error: Template is missing
Missing template miscellaneous/sitemap, application/sitemap with {:locale=>[:en], :formats=>[:xml], :handlers=>[:erb, :builder]}. Searched in: * "/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"
rutas de rastrillo:
GET /sitemap.xml(.:format) miscellaneous#sitemap {:format=>"xml"}
rutas.rb:
get "sitemap.xml", :to => "miscellaneous#sitemap", defaults: { format: "xml" }
controlador:
class MiscellaneousController < ApplicationController
def sitemap
@card_templates = CardTemplate.all
respond_to do |format|
format.xml
end
end
end
Template position: app/views/miscellaneous/sitemap.xml.builder
content in template 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
I already checked file permission issues. Still not working. Anyone help please. Thanks in advance.
2 Respuestas
0
Esto me parece mal:
GET /sitemap.xml(.:format) miscellaneous#sitemap {:format=>"xml"}
¿No debería ser así?
GET /sitemap(.:format) miscellaneous#sitemap {:format=>"xml"}
I would change your route to:
get "sitemap", :to => "miscellaneous#sitemap"
Your controller code should look about the same
class MiscellaneousController < ApplicationController
def sitemap
@card_templates = CardTemplate.all
respond_to do |format|
format.xml
end
end
end
respondido 27 nov., 13:02
0
This turns out to be an IDE issue, the file name I saw from the textmate ui differs from what I saw from the terminal. Fixed after I renamed the file.
respondido 27 nov., 13:17
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ruby-on-rails sitemap xml-builder or haz tu propia pregunta.
Made some more changes. Let me know if that helps. - caballero farley
Still getting the same error. More info: I am on ruby 1.9.3 rails 3.2.13. Thanks. - tristan.liu
Found a solution. Updated answer and pushed example to github: github.com/farleyknight/sample_app - caballero farley
Thanks, Farley. Your app works as expected.It's weird. I used the same code to create a fresh app, which works fine. While the same code broke in my existing app. It might be some configuration issue? - tristan.liu
I tried render(:template => "miscellaneous/sitemap", :formats => [:xml], :handlers => :builder, :layout => false), but still got the same problem. - tristan.liu