0

我可以使用 Rails 和 Nokogiri 吗?

我试过这个线程并且有同样的问题,但解决方案对我不起作用: Cannot require 'nokogiri' in Rails (but works in irb)

 class IndexController < ApplicationController
 require 'nokogiri'
    require 'open-uri'
  def index
    @name = "Help"


    end

end

我得到的错误是:

cannot load such file -- nokogiri

我在 nitrous.io 中运行它。我使用以下方法制作了一份宝石清单:

 <li>Ruby: <%=RUBY_VERSION%></li>
 <li>Gems: <%=`gem list`%></li>

这让我

    Ruby: 2.0.0
Gems: actionmailer (4.0.0) actionpack (4.0.0) activemodel (4.0.0) activerecord (4.0.0) activerecord-deprecated_finders (1.0.3) activesupport (4.0.0) arel (4.0.0) atomic (1.1.14) builder (3.1.4) bundler (1.3.5) coffee-rails (4.0.0) coffee-script (2.2.0) coffee-script-source (1.6.3) erubis (2.7.0) execjs (2.0.1) hike (1.2.3) i18n (0.6.5) jbuilder (1.5.1) jquery-rails (3.0.4) json (1.8.0) mail (2.5.4) mime-types (1.25) minitest (4.7.5) multi_json (1.8.0) polyglot (0.3.3) rack (1.5.2) rack-test (0.6.2) rails (4.0.0) railties (4.0.0) rake (10.1.0) rdoc (3.12.2) sass (3.2.10) sass-rails (4.0.0) sdoc (0.3.20) sprockets (2.10.0) sprockets-rails (2.0.0) sqlite3 (1.3.8) thor (0.18.1) thread_safe (0.1.3) tilt (1.4.1) treetop (1.4.15) turbolinks (1.3.0) tzinfo (0.3.37) uglifier (2.2.1)

即使我运行了 gem install nokogiri,Nokogiri 也不在这里。

4

1 回答 1

1

添加nokogiri到您的 gem 文件中,运行bundle install并开始使用它。没有必要require

捆绑安装后,您可以立即在控制器操作中使用它。例如

def index
 p = Nokogori::HTML(open('http://domain.com')) #=> p now have the contents of the page
end
于 2013-09-13T13:18:47.680 回答