1

私は Rails を再び使い始めたばかりで、最近Sitepoint ガイドに従って RSS フィード アプリを構築しています。指示を逐語的に実行しましたが、エラーが発生していますundefined method 'html_safe' for nil:NilClass。データベースを調べたところ、Feedjira がcontentまたはauthor属性をデータベースに解析していないようです。

簡単なグーグルの後、 8月13日からさかのぼるGithubページ#178#176で次の問題を見つけましたが、これが原因である重大な問題を考えると、そこにないことに驚いています。ここで見つけることができるのは私のコードのエラーかもしれませんが、チェックしたところ、そうではないと思います。

私が間違っていることを知っている人はいますか?問題 #176で提案されているように、feedjira ドキュメントの self.feed_classes を変更しましたが、まだ何も検出されません。

4

2 に答える 2

1

RSS および Atom フィードは content 属性を提供しません。「コンテンツ」は「概要」属性として提供されます。だから変える

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 %>
于 2017-01-14T20:15:49.780 に答える