SORU
16 Ocak 2010, CUMARTESİ


Google haritası Raylar projeleri için dosyaları

Kolay bir şekilde Raylar projeler için Site Haritası dosyası oluşturmak için var mı? Özellikle dinamik siteler (Yığın Taşması gibi örneğin) için dinamik olarak site haritası dosyası oluşturmak için bir yolu olmalı. Ruby ve/veya Raylar gitmek için yolu nedir?

PEKİ NE önerirsiniz? Orada herhangi bir iyi gem var mı?

CEVAP
16 Ocak 2010, CUMARTESİ


config/routes.rb dosya (daha belirli rotalar üzerinde yer almalıdır) altına doğru: bu yol ekleyin

map.sitemap '/sitemap.xml', :controller => 'sitemap'

SitemapController (app/kontrolörleri/sitemap_controller) oluşturmak:

class SitemapController < ApplicationController
  layout nil

  def index
    headers['Content-Type'] = 'application/xml'
    last_post = Post.last
    if stale?(:etag => last_post, :last_modified => last_post.updated_at.utc)
      respond_to do |format|
        format.xml { @posts = Post.sitemap } # sitemap is a named scope
      end
    end
  end
end

ve gördüğünüz Gibi, bu Post bir modelini kullanıyor o yüzden bir blog için, -. Bu (uygulama/manzarası/site haritası/dizin.şablon HAML görünümdür xml.haml):

- base_url = "http://#{request.host_with_port}"
!!! XML
%urlset{:xmlns => "http://www.sitemaps.org/schemas/sitemap/0.9"}
  - for post in @posts
    %url
      %loc #{base_url}#{post.permalink}
      %lastmod=post.last_modified
      %changefreq monthly
      %priority 0.5

İşte bu! CURL kullanarak bir tarayıcı, ya da belki de http://localhost:3000/sitemap.xml eğer Melez kullanıyorsanız) yetiştirme alarak test edebilirsin.

Denetleyicisi eğer yeni mesajlar varsa, orada hiçbir Değişiklik Yok HTTP 304 bir yanıt vermesini stale? yöntemi kullandığını unutmayın site geçen istendi sinces.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • How Things Are Made

    How Things A

    17 HAZİRAN 2008
  • Ty Moss

    Ty Moss

    20 Kasım 2007