require 'rubygems'
require 'mechanize'
agent = Mechanize.new
page = agent.get("http://google.com/")
这个简单的脚本可以正常工作。
但如果我想加入
require 'rubygems'
和require 'mechanize'
到Rails控制器,服务器给出:
LoadError in NewsController#find
no such file to load -- mechanize
我在Ubuntu 10.04服务器machnine上使用RVM。 Ruby版本:1.9.2,Rails版本:3.0.3。 服务器:Apache2下的Passanger。
P.S。如果我运行rails server
并转到mysite.com:3000,所有工作都没有任何错误,因此Passanger存在问题!
拜托,帮助我!
答案 0 :(得分:17)
您不应该在控制器中需要宝石。这就是Bundler被添加到Rails 3的原因。 只需将机械化添加到您的Gemfile中就像这样
gem "mechanize"
并运行
bundle install
命令行上的。 应用程序启动时将需要此处提到的任何gem。
答案 1 :(得分:5)
在Rails 3中管理依赖项的方式是using the Gemfile and Bundler。
编辑Gemfile并添加
gem "mechanize"
然后运行
$ bundle install
重启服务器。库将自动加载。无需手动需要RubyGems。