1

エラー: テンプレートがありません

{: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"

レーキルート:

GET      /sitemap.xml(.:format)                 miscellaneous#sitemap {:format=>"xml"}

ルート.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

テンプレートの位置: app/views/miscellaneous/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

ファイルのアクセス許可の問題は既に確認しました。まだ動作していません。誰でも助けてください。前もって感謝します。

4

2 に答える 2

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
于 2013-11-27T01:25:09.930 に答える