我对Rails 3还比较陌生,我正在尝试创建RSS/Atom订阅。我知道auto_discovery_link_tag,但相关的控制器/操作应该长什么样呢?
谢谢!
谢谢!
Auto_discovery_link_tag是一个很好的开始。通过快速的谷歌搜索,我找到了关于如何在Rails中创建RSS源的博客文章How to Create an RSS feed in Rails。让我告诉你一下你相关的控制器/操作应该是什么样子:
controllers/posts_controller.rb
def feed
@posts = Post.all(:select => "title, author, id, content, posted_at", :order => "posted_at DESC", :limit => 20)
respond_to do |format|
format.html
format.rss { render :layout => false } #index.rss.builder
end
end
这个文件的名称应该与控制器匹配。见下面:
views/posts/feed.rss.builder
xml.instruct! :xml, :version => "1.0"
xml.rss :version => "2.0" do
xml.channel do
xml.title "Your Blog Title"
xml.description "A blog about software and chocolate"
xml.link posts_url
for post in @posts
xml.item do
xml.title post.title
xml.description post.content
xml.pubDate post.posted_at.to_s(:rfc822)
xml.link post_url(post)
xml.guid post_url(post)
end
end
end
end
这里是所有Railsy魔法发生的地方。在这里,RSS feed XML被生成并返回给HTTP。
respond_to do |format|
format.html
format.atom {render action: 'index', layout: false}
end