我正在尝试使用 Feedjira gem 为我正在使用的 RSS 阅读器显示图像。
我在模型中创建了方法:
饲料.rb
def self.feed_image(url)
Feedjira::Feed.add_common_feed_element 'img'
image = Feedjira::Feed.fetch_and_parse url
end
我试图在显示页面中显示它,所以我在控制器中调用它:
feeds_controller.rb
def show
@feed = Feed.find(params[:id])
@title = @feed.feed_title
@entries = @feed.entries
@feed_image = Feed.feed_image(params[:id]) <-----
end
我添加了参数,以便在显示页面上提取调用提要的 url。我尝试在视图中显示如下:
显示.html.erb
<h3><%= @feed.url %></h3>
<%= image_tag @feed_image %> <---------
<% @entries.each do |t| %>
<%= link_to t.title, t.url %></br>
<small><%= t.published %></small>
<%= sanitize t.summary %>
<% end %>
当我尝试调用它时出现以下错误:
NoMethodError (undefined method `request_uri' for #<URI::Generic /1>):
app/models/feed.rb:19:in `feed_image'
app/controllers/feeds_controller.rb:12:in `show'
我不确定它是否没有正确读取 URL 或者我到底哪里出错了。任何人都知道我哪里出错了。