Feedjira没有添加内容和作者

时间:2017-01-14 13:53:32

标签: ruby-on-rails ruby-on-rails-4 rss feedjira

我刚刚开始使用Rails并且最近关注了Sitepoint guide to building an RSS Feed app。我逐字按照说明操作,但收到错误undefined method 'html_safe' for nil:NilClass。我查看了数据库,似乎Feedjira没有将contentauthor属性解析到数据库中。

快速谷歌之后,我发现Github页面上的以下问题#178#176的日期可以追溯到8月13日,但鉴于这一重大问题导致我感到惊讶,因为它没有。在我的代码中可能会出现错误here,但我已经检查过,并且认为不是。

有谁知道我做错了什么?我已根据Issue #176中的建议更改了feedjira文档中的self.feed_classes,但它仍然没有提取任何内容。

2 个答案:

答案 0 :(得分:1)

RSS和Atom Feeds不提供内容属性。内容'提供为'摘要'属性。所以改变

local_entry.update_attributes(content: entry.content, author: entry.author, url: entry.url, published: entry.published)

local_entry.update_attributes(content: entry.summary, author: entry.author, url: entry.url, published: entry.published)

然而,NewsFeeds是非常易变的事情。所以你不应该依赖单一属性的存在。

查看您的show.html.erb

<%= @entry.content.html_safe %>

例如,您可以使用安全导航操作符

<%= @entry&.content&.html_safe %>

或告知用户,没有内容

<% unless @entry.content.nil? %>
    <%= @entry.content.html_safe %>
<% end %>

答案 1 :(得分:0)

行。我找到了问题所在。我克隆了你的项目并开火了。显然,Feed中的show.html.erb页面与文章中的页面不同,这就是您无法访问条目的原因:

Yours  =&GT; From the article

如果您想查看条目,请先创建包含姓名和说明的新Feed,例如为每个Feed添加以下链接:

http://epijobs.com/rss.xml

http://feedjira.com/blog/feed.xml

完成添加Feed后,从root应用中的终端运行cd lib/task,最后运行:bundle exec rake sync:feeds,如文章中所述:

  

rake任务循环遍历数据库中存储的所有Feeds   获取每个内容的最新内容。从那以后,循环通过   新条目,在数据库中创建或更新它。我们正在更新   每次都要跟上源内容的任何变化。

现在,如果您转到下面的链接,或者通过链接显示第一个Feed:

http://localhost:3000/feeds/1/entries

您应该能够看到Feed id 1的所有条目。

我希望它有所帮助。