开发者

Ruby and RSS2 Feed not displaying image

开发者 https://www.devze.com 2023-01-04 11:27 出处:网络
Trying to create a simple RSS2 Feed that I could later pass on to FeedBurner but can\'t get RSS feed to display images at all.

Trying to create a simple RSS2 Feed that I could later pass on to FeedBurner but can't get RSS feed to display images at all.

Also, from what I have read having xml.instruct! on top might cause IE to complain it's not a valid feed. Is this true?

My Code looks like

xml.instruct!

xml.rss "version" => "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/" do
 xml.channel do

   xml.title           "Store"
   xml.link            url_for :only_path => false, :controller => 'products'
   xml.description     "Store"
   xml.pubDate         @products.first.updated_at.rfc822 if @products.any?

   @products.each do |product|
     xml.item do
       xml.title       product.name
       xml.pubDate     (product.updated_at.rfc822)
       xml.image do
         xml.url       domain_host + product.product_image.url(:small)
         xml.title     "Store"
         xml.li开发者_如何学Gonk      url_for :only_path => false, :controller => 'products'
       end
       xml.link        url_for :only_path => false, :controller => 'products', :action => 'show', :id => product.permalink
       xml.description product.fine_print
       xml.guid        url_for :only_path => false, :controller => 'products', :action => 'show', :id => product.permalink
     end
   end
 end

end

Updated - snippet with and without image tag in description

Without image_tag in description - From Firefox

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Test Me</title>
    <link>http://localhost:3000/products</link>
    <description>Test Me</description>
    <pubDate>Mon, 21 Jun 2010 14:51:11 +0000</pubDate>
    <item>
      <title>Cylinder</title>
      <pubDate>Mon, 21 Jun 2010 14:51:11 +0000</pubDate>
      <image>
        <url>http://localhost:3000/assets/products/1/small/product_1.jpg</url>
        <title>Test Me</title>
        <link>http://localhost:3000/products</link>
      </image>
      <link>http://localhost:3000/products/1</link>
      <description>&lt;p&gt;&lt;h2&gt;Cylinder 2467.d&lt;/h2&gt;
This cylinder was designed for ruggedness and high performance&lt;/p&gt;</description>
      <guid>http://localhost:3000/products/1</guid>
    </item>
  </channel>

</rss>

With image_tag in description - From Firefox

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Test Me</title>
    <link>http://localhost:3000/products</link>
    <description>Test Me</description>
    <pubDate>Mon, 21 Jun 2010 14:46:54 +0000</pubDate>
    <item>
      <title>Cylinder</title>
      <pubDate>Mon, 21 Jun 2010 14:46:54 +0000</pubDate>
      <image>
        <url>http://localhost:3000/assets/products/1/small/product_1.jpg</url>
        <title>Test Me</title>
        <link>http://localhost:3000/products</link>
      </image>
      <link>http://localhost:3000/products/1</link>
      <description>&lt;img alt="Product_1" src="/assets/products/1/small/product_1.jpg?1276967922" /&gt;&amp;lt;p&amp;gt;&amp;lt;h2&amp;gt;Cylinder 2467.d&amp;lt;/h2&amp;gt;
This cylinder was designed for ruggedness and high performance&amp;lt;/p&amp;gt;</description>
      <guid>http://localhost:3000/products/1</guid>
    </item>
  </channel>

</rss>


Are your image paths relative or do they contain the full URI to the resource? Double check the source made by your script for this kind of thing. Google reader will try and correct this, but not every RSS tool will do the same.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号