Feedjira没有添加内容和作者
我刚刚开始使用Rails并且最近遵循了Sitepoint指南来构建RSS Feed应用程序 。 我按undefined method 'html_safe' for nil:NilClass
按照说明操作,但是得到错误的undefined method 'html_safe' for nil:NilClass
。 我查看了数据库,似乎Feedjira没有将content
或author
属性解析到数据库中。
快速谷歌之后,我在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://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的所有条目。
我希望它有所帮助。