在 Rails 中,使用 feed
组件和 rss
_feed_builder` 可以很容易地将 HTML 插入 RSS/Atom 提要。以下是将 HTML 添加到提要的一个示例。
首先,在应用程序的 app/controllers/admin/content_publishers_controller.rb
文件中定义了要处理的 RSS 提要:
class Admin::ContentPublishersController< ApplicationController
def rss_feed
@content_publishers = ContentPublisher.all
render rss: 'content_publishers', content: @content_publishers.map(&:rss_feed).join("\n"), format: 'xml'
end
end
现在我们可以编写一个方法,将 HTML 插入到 ContentPublisher
对象的 rss_feed
:
module ApplicationHelper
def formatted_rss_feed(content_publishers)
content = content_publishers.map(&:rss_feed).join("\n")
link = link_to('#', href: admin_content_publishers_path) + '&rss=1'
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<rss version=\"2.0\">\n" + link + "\n" + content + "\n</rss>\n"
end
end
最后,您可以在模板中轻松使用 formatted_rss_feed
方法:
- content_publishers.each do |cp|
= formatted_rss_feed cp
现在您应该能够在 Rails 应用中创建一个带有 HTML 代码的 RSS 提要。
领取专属 10元无门槛券
手把手带您无忧上云