rails制作rss feed代码
方法A:
就是你自己把RSS XML的格式拼凑好,输出.并设置HTTP Header ,标记content-type为application/XML,常见的代码:
方法B:
Rails Controller->Action 代码:
这种方法 网上很多文章到这一步就算完了,没有下文了,其实不对。到这一步,访问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输出。
就是你自己把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输出。
相关推荐
wanxuncpx 2020-06-01
malachuan 2020-05-17
IT前沿 2020-04-25
Vikingsoft 2020-04-23
晚安假行僧 2020-02-09
malachuan 2019-11-11
徐汇业大信息中心 2011-09-25
xiaomingqing 2015-06-29
chennai0 2015-07-22
panpanhappy 2019-07-15
iComputer 2019-09-05
川大门口贴膜小哥 2018-09-18
Vikingsoft 2018-08-18
IT前沿 2014-06-03
panpanhappy 2011-04-17
IT前沿 2013-08-27
灬扫地僧 2013-05-17