Ruby和RSS2 Feed不显示图像

时间:2010-06-18 14:37:37

标签: ruby-on-rails ruby feeds

尝试创建一个简单的RSS2 Feed,我稍后可以将其传递给FeedBurner,但根本无法获取RSS源以显示图像。

另外,从我读过的xml.instruct!在顶部可能会导致IE抱怨它不是一个有效的饲料。这是真的吗?

我的代码看起来像

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.link      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

已更新 - 说明中带有和不带图片标记的摘录

说明中没有image_tag - 来自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>

描述中的image_tag - 来自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>

1 个答案:

答案 0 :(得分:0)

您的图片路径是相对的还是包含资源的完整URI?仔细检查脚本生成的源代码。谷歌阅读器会尝试纠正这个问题,但不是每个RSS工具都会这样做。