Reputation: 2821
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'
Upvotes: 0
Views: 2948
Reputation: 68
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
Upvotes: 1