rails制作rss feed

2016-02-20 00:40 4 1 收藏

图老师小编精心整理的rails制作rss feed希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - Web开发 】

在网上Google了很多次,能找到用rails制作rss,但是总是找不到完整的。今天把完整的过程抄录在这里:

方法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:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

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输出。

来源:https://www.tulaoshi.com/n/20160220/1632341.html

延伸阅读
标签: Web开发
给自己维护的一个小网站加个首页新闻,浏览器用 Ajax 或者 Ajah 从服务器取新闻异步的显示出来,同时提供 RSS 源供聚合器订阅。 XMLHTTPRequest 从上次做过一个手机模拟器后就再没碰过,这次在网上搜寻发现了一个好东西:http://www.scss.com.au/family/andrew/webdesign/xmlhttprequest/,一个 Cross-Browser 的 XMLHttpRequest 实现,作者...
标签: PS PS基础
呵呵,有一些时间没有好好写过PS教程了,不过也没有忘记继续学习PS哦,坚持才能成功,亲,想学好PS,不动手是不行滴。 这篇教程是在国外网站上看的,效果图是挺漂亮的,简单的把教程翻译了一下,喜欢的可以参考下别人的做图思路。我们可以拿来参考,分析,这样会对我们做图有帮助的。 最终效果: 1.新建文档,可以根据自己的需要设定。 ...
标签: Web开发
有时候,你的Blog可能需要这样的功能:   在自己Blog上聚合并显示朋友Blog的最新文章,这样方便自己及时了解朋友的消息,另外,也方便访问者找到和本Blog相关的blog和文章。 这个功能你可以叫它“Blog聚合”或者“Blog联播”,目前,实现这样功能的软件或服务都有限制:比如,Terac Sinfonia、Lilina、MXNA虽然功能都很强大,但是需要安...
一个朋友学习Fireworks,问如何制作一个RSS的图标。于是给他做了个例子。 最终效果如下: 1、选择矢量工具中的“圆角矩形”工具,画一个150px×150px的矩形。调整角度手柄到合适。 2、对矩形进行垂直线性渐变。数值如图。 3、复制并原位粘贴一个矩形,选择实心填充,选择白色并调整透明度到如图效果。将其平面化,然后利用选区工...
PS制作立体3D橙色玻璃RSS Icon图标设计TuLaoShi.com教程 教大家用PhotoShop制作漂亮的立体3D橙色玻璃RSS Icon图标。呵呵,有一些时间没有好好写过PS教程了,不过也没有忘记继续学习PS哦, 坚持才能成功,亲,想学好PS,不动手是不行滴。 这篇教程是在国外网站上看的,效果图是挺漂亮的,简单的把教程翻译了一下,喜欢的可以参...

经验教程

925

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部