0

thanks for your time!

I've got rails installed in my Windows XP. The version is : Rails 3.2.7

I've installed nokogiri and have successfully developed a small program using it in Ruby.

But for Rails, I don't know how to include external lib in my code.

According to this topic, How to use ruby libraries in rails?, I added gem nokogiri in Gemfile. But it still give me this error : uninitialized constant SayController::Nokogiri.

And if I add require 'nokogiri' in my say_controller.rb, it gives me another error cannot load such file -- nokogiri

I am new in Rails. It seems a quite simple task. What should I do.

By the way, here what I got when I run bundle install

Using rake (0.9.2.2)
Using i18n (0.6.0)
Using multi_json (1.3.6)
Using activesupport (3.2.7)
Using builder (3.0.0)
Using activemodel (3.2.7)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.1)
Using rack-cache (1.2)
Using rack-test (0.6.1)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.1.3)
Using actionpack (3.2.7)
Using mime-types (1.19)
Using polyglot (0.3.3)
Using treetop (1.4.10)
Using mail (2.4.4)
Using actionmailer (3.2.7)
Using arel (3.0.2)
Using tzinfo (0.3.33)
Using activerecord (3.2.7)
Using activeresource (3.2.7)
Using bundler (1.1.5)
Using coffee-script-source (1.3.3)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.2)
Using json (1.7.4)
Using rdoc (3.12)
Using thor (0.16.0)
Using railties (3.2.7)
Using coffee-rails (3.2.2)
Using jquery-rails (2.0.2)
Using nokogiri (1.5.5)
Using rails (3.2.7)
Using sass (3.2.0)
Using sass-rails (3.2.5)
Using sqlite3 (1.3.6)
Using uglifier (1.2.7)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

Here's my Gemfile looks like:

source 'https://rubygems.org'

gem 'rails', '3.2.7'

gem 'sqlite3'
gem 'nokogiri'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'
Community
  • 1
  • 1
mCY
  • 2,731
  • 7
  • 25
  • 43
  • Did you see it in Ruby gems folder ? – MID Oct 10 '12 at 07:48
  • Maybe it is not installed properly and you need it copy it manually from GitHub. – MID Oct 10 '12 at 07:49
  • You do not need to do `require` if it is in your Gemfile and bundled gems. It will be automatically required by this line in `config/application.rb`: `Bundler.require(*Rails.groups(:assets => %w(development test)))` Please check if this line is in place. – khustochka Oct 10 '12 at 08:19

1 Answers1

1

As documented in github nokogiri, I think you need to requires 2 lines in say_controller.rb

For example:

require 'nokogiri'
require 'open-uri'
class ControllerName < ApplicationController
    def index
        doc = Nokogiri::HTML(open('http://www.google.com/search?q=sparklemotion'))
    end
end
smile eva
  • 68
  • 7
  • Sorry for the late response. Everything works perfect after I add open-uri requirement. Thanks very much! – mCY Oct 20 '12 at 06:03