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

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

Kịch bản đơn giản này hoạt động tốt.Yêu cầu đá quý ruby ​​trong bộ điều khiển ray

Nhưng nếu I'am cố gắng để thêm require 'rubygems'require 'mechanize' với bộ điều khiển Rails, máy chủ cung cấp cho:

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

tôi sử dụng RVM trên Ubuntu 10.04 Server machnine. Phiên bản Ruby: 1.9.2, phiên bản Rails: 3.0.3. Máy chủ: Passanger dưới Apache2.

P.S. Nếu tôi chạy rails server và truy cập mysite.com:3000 tất cả các công trình mà không có bất kỳ lỗi nào, do đó, có vấn đề với Passanger!

Xin hãy giúp tôi!

+0

Bạn đã cài đặt cơ chế đá quý qua cơ chế cài đặt gem chưa? Chỉ có đá quý trong gemfile của bạn sẽ cài đặt khi bạn chạy bundler. – Gazler

Trả lời

17

Bạn không nên yêu cầu đá quý trong bộ điều khiển của mình. Đó là lý do Bundler đã được thêm vào Rails 3. Chỉ cần thêm cơ giới hóa để Gemfile bạn như thế này

gem "mechanize" 

và chạy

bundle install 

trên dòng lệnh. Bất kỳ đá quý nào được đề cập ở đây sẽ được yêu cầu khi khởi động ứng dụng.

5

Cách bạn quản lý các phụ thuộc trong Rails 3, là using the Gemfile and Bundler.

Sửa Gemfile của bạn và thêm

gem "mechanize" 

Sau đó chạy

$ bundle install 

Khởi động lại máy chủ. Thư viện sẽ tự động được tải. Không cần phải tự yêu cầu RubyGems.

+0

Nó hoạt động! :) Cảm ơn – Kir

Các vấn đề liên quan