2011-02-08 11 views
9
require 'rubygems' 
require 'mechanize' 

agent = Mechanize.new 
page = agent.get("http://google.com/") 

Este sencillo script funciona bien.Requiere ruby ​​gems en el controlador de rieles

Pero si se trata de añadir I'am require 'rubygems'require 'mechanize' y al controlador Rails, el servidor da:

LoadError in NewsController#find 
no such file to load -- mechanize 

utilizo RVM en Ubuntu 10.04 machnine servidor. Versión de Ruby: 1.9.2, versión de Rails: 3.0.3. Servidor: Passanger bajo Apache2.

P.S. Si ejecuto rails server y voy a mysite.com:3000, todo funciona sin ningún error, ¡así que hay un problema con Passanger!

Por favor, ¡ayúdenme!

+0

¿Has instalado la gema mecanizada mediante gem install mechanize? Solo gemas en tu gemfile se instalarán cuando ejecutes bundler. – Gazler

Respuesta

17

No debe requerir gemas en su controlador. Es por eso que se añadió Bündler a Rails 3. Sólo tiene que añadir a su mecanizar Gemfile como esto

gem "mechanize" 

y ejecutar

bundle install 

en la línea de comandos. Cualquier gema mencionada aquí será requerida al inicio de la aplicación.

5

La forma de administrar las dependencias en Rails 3 es using the Gemfile and Bundler.

Editar su Gemfile y añadir

gem "mechanize" 

A continuación, ejecute

$ bundle install 

Reinicie el servidor. La biblioteca se cargará automáticamente. No es necesario que exija RubyGems manualmente.

+0

¡Funciona! :) Gracias – Kir

Cuestiones relacionadas