我正在尝试使用Feedjira gem为我正在处理的RSS阅读器显示图像。
我在模型中创建了方法:
Feed.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
我添加了参数,以便在显示页面上提取调用Feed的网址。我尝试在视图中显示如下:
show.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或者我错误的地方。任何人都知道我哪里出错了。