rails制作rss feed代码

方法A:
就是你自己把RSS XML的格式拼凑好,输出.并设置HTTP Header ,标记content-type为application/XML,常见的代码:


代码如下:

#Post_controller::feed()
def feed
require "rss"
articles = Article.find :all, :order => 'post_date DESC', :limit => 10
feed = RSS::Maker.make("2.0") do |maker|
maker.channel.title = "Gang of Technology"
maker.channel.description = "Gang of Technology site"
maker.channel.link = "http://up-u.com"

maker.items.do_sort = true

articles.each do |article|
item = maker.items.new_item
item.link = "http://www.***.com/archives/#{article.id}"
item.title = article.title
item.date = article.post_date
item.description = ""
end
end
send_data feed.to_s, :type => "application/rss+xml", :disposition =>
'inline'
end

方法B:
Rails Controller->Action 代码:

代码如下:

#Post_controller::feed
def feed
@posts=Post.find :all,:limit=>”id desc”
end

erb模板:

xml.instruct!
xml.rss(”version”=>”2.0″,
“xmlns:dc”=>”http://purl.org/dc/elements/1.1/”) do
xml.channel do
xml.title “renlu.xu 's blog”
xml.link(url_for(:action=>”start”,:only_path=>false))
xml.description “My life My love”
xml.language “zh_CN”
xml.ttl 60

for event in @posts do
xml.item do
xml.title(event.title)
xml.description(event.body)
xml.pubDate(event.created_at.to_s(:rfc822))
xml.guid(event.id)
xml.link(”http://…..#{event.id}”)
end
end
end
end

这种方法 网上很多文章到这一步就算完了,没有下文了,其实不对。到这一步,访问http://localhost:3000/post/feed仍然是出来的html的界面。g之,找到介绍:rails 2.0会根据不同的格式对模板进行渲染。这段代码放在/views/post/feed.rhtml中是没有用的,需要放在/views/post/feed.atom.builder中,并且需要通过http://localhost:3000/post/feed/123.atom(这里123没有什么实际意义 随便抓的一个),或是http://localhost:3000/post/feed?format=atom才能正确地按rss+xml输出。

(0)

相关推荐

  • rails制作rss feed代码

    方法A: 就是你自己把RSS XML的格式拼凑好,输出.并设置HTTP Header ,标记content-type为application/XML,常见的代码: 复制代码 代码如下: #Post_controller::feed() def feed require "rss" articles = Article.find :all, :order => 'post_date DESC', :limit => 10 feed = RSS::Maker.make(&quo

  • 可以应用到马克斯电影站生成Rss Feed的代码

    使用方法:将下面的代码存为rss.asp(记得以UTF-8格式保存)并上传到网站根目录,剩下的工作就是找Rss提交入口去提交你的Feed地址http://你的域名/rss.asp 演示:http://www.366mv.cn  代码如下,请根据注释修改相应的信息,版权信息还望各位能够保留 ^_^ 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>  <%  Session.CodePage=65

  • 轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器

    本文实例讲述了通过 jQuery EasyUI框架创建一个RSS阅读器,分享给大家供大家参考.具体如下: 运行效果截图如下: 我们将使用以下插件: layout:创建应用的用户界面. datagrid:显示 RSS Feed 列表. tree:显示 feed 频道. 步骤 1:创建布局(Layout) <body class="easyui-layout"> <div region="north" border="false"

  • python制作抽奖程序代码详解

    实现制作抽奖程序,需要认知到我们可以看到一般抽奖程序界面上是有很多按钮的,比如中奖区域,按键开始区域等等,所以我们先要设置界面,然后把这些按钮添加到界面中去,想必这对于学过tkinter的同学应该不难.下面结合实现步骤:设计界面.利用循环.多线程来完成抽奖程序设置吧. 实现代码: import random #导入内置的random模块 list1=list(range(0,15)) #将range元素进行列表转换并赋值给列表list1 print("抽奖号码是:",list1) #打

  • R语言入门使用RStudio制作包含Rcpp代码的R包

    目录 1. 创建项目 2. 修改一些文件 3. 打包 4. 使用Eigen或其它依赖库会出现的问题 前面博客中有提及,当我们进行模拟想要再次进行提速时,通常都会使用Rcpp将我们的R代码改成C++代码.具体Rcpp的使用可参考博客:Rcpp入门R代码提速方法过程,R语言学习RcppEigen进行矩阵运算. 平时在我们使用的时候,直接使用Rcpp::sourceCpp()就可以直接将我们的C++代码中的函数进行导入,这不会遇到什么问题,但如果我们想要使用snowfall进行并行时就不能再这样做了.

  • 用PHP读取RSS feed的代码

    而助易网的rss读取就是在这个程序的基础上稍做改造而成,主 要是输出了一个数组字符串以及解决编码问题. php源代码及代码详细解释如下: <?php //RSS源地址列表数组 $rssfeed = array("http://www.jb51.net/feed", "http://rss.sina.com.cn/news/allnews/sports.xml", "http://ent.163.com/special/00031K7Q/rss_tou

  • PHP读取RSS(Feed)简单实例

    最近在弄博客,但各种博客间同步比较麻烦,好在每一个博客都有自己的RSS聚合系统,可以通过RSS实现博客同步调用,于是自己动手用RSS实现博客同步发布,在其中就研究一下PHP读RSS. RSS是用XML来书写的,XML 是一种数据存储格式.PHP读取XML数据有三种方法:用XML解析函数.DOM模块和正则表达式,最直接地就是直接解析XML,获取XML中的数据. 以下是解析代码: 复制代码 代码如下: <?phperror_reporting(E_ALL^E_NOTICE); $rssfeed =

  • 使用jQuery的ajax功能实现的RSS Reader 代码

    先看看效果来着: 首先需要一个ascx页面通过一个XDocument把rss源的内容绑定到一个ListView上.代码如下: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { // For demo purposes. System.Threading.Thread.Sleep(1000); XDocument feedXML = XDocument.Load("http://feeds.feedsky.com/c

  • python利用elaphe制作二维条形码实现代码

    手机上的二维码识别程序已经做的很好了,"我查查"用起来很不错的 我搜集了几个二维条码生成网站: http://www.morovia.com/free-online-barcode-generator/qrcode-maker.php http://qrencode.sinaapp.com/ http://www.mayacode.com/ 作为一个程序猿,我们也要懂得如何制作二维条形码 python的elaphe模块帮我们解决了问题 复制代码 代码如下: from elaphe im

  • 用ajax实现读博客rss示例代码

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>this is test</title

随机推荐