1

CMS スタイルの Rails アプリの動的サイトマップを作成しようとしていますが、Haml を使用して XML でサイトマップを作成するのに問題があります。ドキュメントを見たところ、ドキュメントの先頭にタグ!!! XMLを挿入するために使用できるはずだと書かれています。<?xml version="1.0" encoding="UTF-8"?>これを実行しようとすると、何もレンダリングされず、リテラルの meta-xml タグを使用せざるを得なくなります。私は何を間違っていますか?

content_controller.rb
=====================
class ContentController < ApplicationController
  # other methods

  def sitemap
    @sections = Section.all :include => :pages
    respond_to do |format|
      format.xml
    end
  end
end

sitemap.xml.haml
================
<?xml version="1.0" encoding="UTF-8"?>
-# !!! XML
-# the above tag does not work
%urlset{:xmlns => 'http://www.sitemaps.org/schemas/sitemap/0.9'}
  %url
    %loc= root_url
  - @sections.each do |section|
    - section.pages.each do |page|
      %url
        %loc= "#{root_url}#{section.url}/#{page.url}"
        %lastmod= page.updated_at
4

1 に答える 1

4

これを機能させるには、設定する必要があります:format => :xhtml
あなたの中でenvironment.rb

Haml::Template.options[:format] = :xhtml

詳細はこちらhttp://www.mail-archive.com/haml@googlegroups.com/msg06984.html

于 2012-06-28T16:59:45.393 に答える