使用Rails atom_feed helper在Atom Feed中呈现HTML内容

时间:2011-04-11 18:52:08

标签: ruby-on-rails feed atom-feed

我对(相当未记录的)atom_feed帮助器有一些问题。

我很乐意做这样的事情:

for blogpost in @blogposts
  feed.entry(blogpost) do |entry|
    entry.title(blogpost.title)
    entry.content(render :partial => '...', :object => blogpost), :type => 'html')
  end
end 

但这似乎不起作用,我不知道如何呈现HTML而不是一些内嵌文本!

我们举个例子:

entry.content (<div style=" ... "> + article.body + </div> + <div style=" ... "> + <img src=" + article.img.url + ..... )

直接在index.atom.builder中编写和设置内容非常烦人。

是否有办法在该上下文中呈现html-partial?

有人可以帮助我。

谢谢分配 PascalTurbo

2 个答案:

答案 0 :(得分:0)

我最近这样做并将我的发现放到了帖子中,请看这里:http://www.communityguides.eu/articles/14

一个相当简单的版本就是这样,链接中还有更多:

应用程序/视图/物品/ index.atom.builder

atom_feed do |feed|
  feed.title "Title"
  feed.updated @articles.first.created_at

  @articles.each do |article|
    feed.entry article do |entry|
      entry.title article.titl
      entry.content article.body, :type => 'html'

      entry.author do |author|
        author.name article.author
      end
    end
  end
end

答案 1 :(得分:0)

这看起来像一个老bug。我发现的最佳解决方案是使用.atom.erb扩展复制部分。 E.g。

_inner_slider.html.erb成为_inner_slider.atom.erb

这是因为Rails正在寻找某种格式。

此解决方案根本不是DRY,其他替代方案非常受欢迎。