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

  • grickle

    grickle

    22 AĞUSTOS 2006
  • khloe brooks

    khloe brooks

    25 Temmuz 2011
  • TV nEW

    TV nEW

    25 AĞUSTOS 2012