Feedjira没有添加内容和作者

我刚刚开始使用Rails并且最近遵循了Sitepoint指南来构建RSS Feed应用程序 。 我按undefined method 'html_safe' for nil:NilClass按照说明操作,但是得到错误的undefined method 'html_safe' for nil:NilClass 。 我查看了数据库,似乎Feedjira没有将contentauthor属性解析到数据库中。

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

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

RSS和Atom Feeds不提供内容属性。 “内容”以“摘要”属性的forms提供。 所以改变

 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 %> 

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

你的 => 来自文章

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

http://epijobs.com/rss.xml

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

当您完成添加订阅源时,从根应用程序中的终端运行cd lib/task ,最后运行: bundle exec rake sync:feeds如文中所述:

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

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

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

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

我希望它有所帮助。

Interesting Posts