1

我正在尝试制作一个解析 RSS 提要然后在其中挖掘关键字的 RoR 应用程序。要添加 RSS,我正在关注:http ://railscasts.com/episodes/168-feed-parsing

它不工作。我已经安装了 gem 并重新启动了 rails 服务器。config/environment 行阻止 rake db:migrate 工作,给出以下错误:

/config/environment.rb:7:in `<top (required)>': undefined local variable or method `config' for main:Object (NameError)

所以我把它留了下来。

我在其中传递 url 的 FeedEntry 控制台行给出了这个错误:FeedEntry.update_from_feed("feed://seekingalpha.com/market_currents.xml") NameError: uninitialized constant FeedEntry::Feedzirra

并且视图代码给出了这个错误:wrong number of arguments (1 for 0)在提取的源代码中:

<div class="container-fluid" id="seeking_alpha">
<h3>Seeking Alpha Feed</h3>
<ul class="list-group">
<% for entry in FeedEntry.all(:limit => 10, :order => "published_at desc") %>
  <li class="list-group-item"><%= link_to h(entry.title), entry.url %></li>
<% end %>
</ul>

你能帮我解决这里的问题吗?除了是一个完整的 Rails n00b 之外,我猜我的问题是 Feedjira 没有初始化,可能是由于使用了比教程更新版本的 Rails (4.0) 和 Ruby (2.1.1)做。也许提要上的 .xml 文件格式也引起了问题。Feedjira 似乎只是不想存在于自己的模型之外。任何想法将不胜感激。

4

1 回答 1

0

您的所有错误都源于省略了第一个配置语句。

如果您查看 Railscast 的源代码,Ryanconfig在 environment.rb 中定义如下:

Rails::Initializer.run do |config|

虽然我们看不到您的 environment.rb,但您的错误表明您尚未定义config

没有config,您将无法运行迁移,因此没有FeedEntry模型,因此控制台脚本和视图中的错误。您还需要在模型中使用该语句Feedzirra::Feed——它必须有效。

回顾一下:

  • config在 config/environment.rb 中定义
  • 运行迁移
  • 如果遇到困难,请与 Railscast 源代码进行比较

此外,这个 Railscast 是旧的(2009 年);“Feedzirra”已重命名为“Feedjira”,您可以将其添加到您的 Gemfile 中:

gem 'feedjira'

您必须查看文档 ( http://feedjira.com ) 以了解 gem 中的任何更改功能,但这可能是一条更简单的路径。

祝你好运!

于 2015-02-08T22:03:56.377 回答