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

  • JorteexHD

    JorteexHD

    20 NİSAN 2012
  • TheScorpioTechno

    TheScorpioTe

    15 Aralık 2010
  • Tutorials Junction

    Tutorials Ju

    1 Ocak 2014