2017-04-09 25 views
0

私のレールアプリにsitemap_generatorを使用しています。私は、ウェブサイト上のビデオリンクを除くすべてのサイトマップを生成することができました。私はどのように理解することはできませんよrails appで動画のサイトマップを生成するには?

SitemapGenerator::Sitemap.create do 
    add('/index.html', :video => { 
    :thumbnail_loc => 'http://www.example.com/video1_thumbnail.png', 
    :title => 'Title', 
    :description => 'Description', 
    :content_loc => 'http://www.example.com/cool_video.mpg', 
    :tags => %w[one two three], 
    :category => 'Category' 
    }) 
end 

:次は何のビデオサイトマップを生成するための宝石のページのドキュメントに記載してあり、私の

sitemap.rb

Equipment.find_each do |e| 
    add search_equipments_path(e), :changefreq => 'weekly' 
end 

Equipment.find_each do |more| 
    add equipment_details_path(more), :changefreq => 'weekly' 
end 

Category.find_each do |c| 
    add search_equipments_path(:category_id=>c.id), :changefreq => 'weekly' 
end 

Category.find_each do |sub| 
    add search_equipments_path(:sub_category=>sub.id), :changefreq => 'weekly' 
end 

Service.find_each do |s| 
    add service_details_path(s), :changefreq => 'weekly' 
end 

WantedEquipment.find_each do |f| 
    add wanted_equipments_path(f), :changefreq => 'weekly' 
end 

StaticPage.find_each do |t| 
    add benefits_for_buyers_path(t), :changefreq => 'weekly' 
end 

StaticPage.find_each do |sel| 
    add benefits_for_sellers_path(sel), :changefreq=> 'weekly' 
end 

StaticPage.find_each do |ser| 
    add benefits_for_service_providers_path(ser), :changefreq=> 'weekly' 
end 

add '/about-us' 
add '/terms-and-conditions' 
add '/pricing-plans' 
add '/how-it-work' 

これですこれらの値を動的に渡します。

答えて

1

あなたがdynamic dataに基づいて映像コンテンツを生成する場合は、この試してみてください。VideoInfoここ

Model.all.each do |e| 
     video = VideoInfo.new(e.video_url) 
     add("https://example.com/views/#{e.slug}", :video => { 
     :thumbnail_loc => "#{video.thumbnail_medium}", 
     :title => "#{video.title}", 
     :description => "#{video.description}", 
     :content_loc => "#{e.video_url}", 
     :tags => e.slug.split('-'), 
     :player_loc => video.embed_url 
     }) 
end 

は、ビデオのメタ情報を取得するために使用逸品です。

0

あなたは、このサンプルを使用するが、あなたのモデル名に変更できます:あなたは、彼は記事モデルにfind_eachなり見ることができるように

SitemapGenerator::Sitemap.create do 
    add '/contact_us', 'changefreq': 'weekly' 
    Article.find_each do |article| 
    add article_path(article), lastmod: article.updated_at 
    end 
end 

。だからあなたはあなたのビデオモデルで同じことをすることができます。

+0

これは問題です。ビデオモデルはありません。 YouTubeのURLにリンクするだけのボタン。オンラインのサイトマップジェネレータもそのためのサイトマップを生成しています。私はこの宝石を使ってどうすればいいのか分かりません。 – user3576036

+0

これは私が '<%if @ equipment.Verified? && @ equipment.video_url.present? %> Click here to view video <% end %> – user3576036

+0

なぜビデオモデルを作成しないのですか?たとえそのシンプルなただ1つのフィールドであっても?最後にモデルを生成すると、youtubeのフィールドURLのすべての値を取得する必要があります。メソッドの後ろに '/ contact_us'、 'changefreq'を追加すると、各行または各値の 'weekly'ジェネレータにもそのURL値が必要です。私は@allurls = somemode.allのようなdbクエリの結果もここで使うことができ、それぞれのトラフを行うことができると思います。あなたはDBにURLを持っていますか? – Nezir

関連する問題