1

我正在尝试在我的 Rails 3 应用程序中使用 twitter-text-rb (https://github.com/twitter/twitter-text-rb)。

我使用 bundler 和我的 gemfile 安装了它 - 看似成功 - 但是当我尝试在我的应用程序助手中包含它的自动链接功能时,如下所示:

require 'twitter-text'
module ApplicationHelper
include Twitter::Autolink
end

当我尝试加载应用程序的根目录时,我在浏览器中收到此错误:

路由错误未初始化常量 Twitter::Autolink 尝试运行 rake 路由以获取有关可用路由的更多信息。

我已经按照Ruby Gems 手册中的这些故障排除问题进行了 操作,但这似乎不是他们在“为什么需要 'some_gem' 失败?”下提出的两个可能问题中的任何一个。

这是我使用终端从应用程序的根目录按照他们的说明进行操作时的摘录:

manager$ gem list twitter-text

*** LOCAL GEMS ***

twitter-text (1.5.0)
manager$ ruby -rubygems -e 'require "twitter-text"'
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `gem_original_require': no such file to load -- twitter-text (LoadError)
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `require'
    from -e:1
manager$ gem contents --no-prefix twitter-text | grep lib
lib/twitter-text.rb
lib/twitter-text/autolink.rb
lib/twitter-text/deprecation.rb
lib/twitter-text/extractor.rb
lib/twitter-text/hit_highlighter.rb
lib/twitter-text/regex.rb
lib/twitter-text/rewriter.rb
lib/twitter-text/unicode.rb
lib/twitter-text/validation.rb
manager$ ruby -rubygems -e 'require "twitter-text"'
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `gem_original_require': no such file to load -- twitter-text (LoadError)
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `require'
    from -e:1
manager$ which ruby
/usr/bin/ruby
manager$ gem env | grep 'RUBY EXECUTABLE'
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

我在应用程序中使用了一些其他的 gem,以前没有遇到过类似的问题。

我不知道下一步该尝试什么。我对 Ruby/Rails 很陌生(以及一般的编程!)所以任何帮助都将不胜感激。

谢谢,

马特

4

1 回答 1

0

我现在已经让这个 gem 工作并删除了加载错误(虽然我不能确定什么是正确的)。

我安装了 RVM 并使用 Ruby 1.9.2 和 Rails 3.2.3 尝试了我的应用程序和 twitter_gem。我之前使用的是系统默认的 Ruby - 1.8.7 - 和 Rails 3.2.3。宝石已正确加载并且运行良好。

因此,问题似乎在于在早期版本的 Ruby 上运行的 gem 或 RVM 的 gemset 帮助应用程序正确加载了 gem。

于 2012-10-12T05:58:58.490 回答