ruby – 机械化和Sinatra冲突
发布时间:2020-12-17 03:23:05 所属栏目:百科 来源:网络整理
导读:我使用Mechanize作为命令行实用程序编写了一个简单的Web爬网程序.然后我决定使用Sinatra创建Web应用程序,但在尝试运行本地Web服务器时遇到了这个错误: /home/nazar/.rvm/gems/ruby-2.0.0-p195/gems/sinatra-1.4.2/lib/sinatra/base.rb:1569:in `run!': unde
我使用Mechanize作为命令行实用程序编写了一个简单的Web爬网程序.然后我决定使用Sinatra创建Web应用程序,但在尝试运行本地Web服务器时遇到了这个错误:
/home/nazar/.rvm/gems/ruby-2.0.0-p195/gems/sinatra-1.4.2/lib/sinatra/base.rb:1569:in `run!': undefined method `run' for HTTP:Module (NoMethodError) from /home/nazar/.rvm/gems/ruby-2.0.0-p195/gems/sinatra-1.4.2/lib/sinatra/main.rb:25:in `block in <module:Sinatra>' 源代码很简单: require 'sinatra' require 'mechanize' get '/' do # mechanize stuff end 我经历了一些调查,并设法发现2个宝石分别工作正常,但只有它们合并才会导致问题.任何人都可以指出问题可能是什么? 解决方法
很可能你是最重要的方法,如机械化.尝试将Sinatra应用程序包装到应用程序类中.这可能会解决问题.
require 'sinatra/base' class MyApp < Sinatra::Base get '/' do # mechanize stuff end end 在Sinatra documentation中了解有关该方法的更多信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |