rails制作rss feed代碼
就是你自己把RSS XML的格式拼湊好,輸出.并設(shè)置HTTP Header ,標(biāo)記content-type為application/XML,常見(jiàn)的代碼:
#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
這種方法 網(wǎng)上很多文章到這一步就算完了,沒(méi)有下文了,其實(shí)不對(duì)。到這一步,訪問(wèn)http://localhost:3000/post/feed仍然是出來(lái)的html的界面。g之,找到介紹:rails 2.0會(huì)根據(jù)不同的格式對(duì)模板進(jìn)行渲染。這段代碼放在/views/post/feed.rhtml中是沒(méi)有用的,需要放在/views/post/feed.atom.builder中,并且需要通過(guò)http://localhost:3000/post/feed/123.atom(這里123沒(méi)有什么實(shí)際意義 隨便抓的一個(gè)),或是http://localhost:3000/post/feed?format=atom才能正確地按rss+xml輸出。
相關(guān)文章
使用wordpress的$wpdb類(lèi)讀mysql數(shù)據(jù)庫(kù)做ajax時(shí)出現(xiàn)的問(wèn)題該如何解決
這篇文章主要介紹了使用wordpress的$wpdb類(lèi)讀mysql數(shù)據(jù)庫(kù)做ajax時(shí)出現(xiàn)的問(wèn)題該如何解決的相關(guān)資料,需要的朋友可以參考下2015-10-10關(guān)于Ajax中通過(guò)response在后臺(tái)傳遞數(shù)據(jù)問(wèn)題
這篇文章給大家介紹了Ajax中通過(guò)response在后臺(tái)傳遞數(shù)據(jù)問(wèn)題,需要的的朋友參考下吧2017-08-08webform使用ajax訪問(wèn)后端接口的兩種方法小結(jié)
這篇文章主要介紹了webform使用ajax訪問(wèn)后端接口的兩種方法小結(jié),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11AJAX避免用戶重復(fù)提交請(qǐng)求實(shí)現(xiàn)方案
為了避免因某些原因用戶同時(shí)多次點(diǎn)擊按鈕,提交重復(fù)的請(qǐng)求,我們需要禁用請(qǐng)求提交按鈕,接下來(lái)與大家一起分享下實(shí)現(xiàn)方法2013-04-04Ajax bootstrap美化網(wǎng)頁(yè)并實(shí)現(xiàn)頁(yè)面的加載刪除與查看詳情
Bootstrap是Twitter推出的一個(gè)開(kāi)源的用于前端開(kāi)發(fā)的工具包,Bootstrap提供了優(yōu)雅的HTML和CSS規(guī)范,它即是由動(dòng)態(tài)CSS語(yǔ)言Less寫(xiě)成。下面通過(guò)本文給大家介紹Ajax bootstrap美化網(wǎng)頁(yè)并實(shí)現(xiàn)頁(yè)面的加載刪除與查看詳情,需要的朋友可以參考下2017-03-03用AJAX實(shí)現(xiàn)頁(yè)面登陸以及注冊(cè)用戶名驗(yàn)證的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇用AJAX實(shí)現(xiàn)頁(yè)面登陸以及注冊(cè)用戶名驗(yàn)證的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10Ajax中通過(guò)JS代碼自動(dòng)獲取表單元素值的示例代碼
如果表單元素不多的情況我們常常會(huì)通過(guò)GET方式來(lái)獲取表單元素值,但如果表單元素非常多,此時(shí)就需要用POST方式來(lái)獲取表單元素值,那么如何來(lái)獲取表單元素值呢2014-09-09