我最近做了一个包更新,结果破坏了很多东西。我无法解决的问题之一是使用hpricot来格式化文本。
以前,有任何高级用户会因为to_sym错误而获得nilClass吗?谢谢
错误:
ActionView::Template::Error (undefined method `to_sym' for nil:NilClass):
config/initializers/hpricot_text_transform.rb:11:in `text_transform!'
config/initializers/hpricot_text_transform.rb
# By Henrik
更新:使用RubyInstaller和相关的DevKit修复了此问题。请看下面的答案。
在新的WinXP上,我们正在尝试设置RoR。我们在rails应用程序的运行中遇到了一些问题。在调试杏宝石的过程中发现了罪魁祸首。如果我们在一个简单的Ruby程序中使用Hpricot,也会出现同样的问题。
当我们运行任何使用H匹配的Ruby程序时,都会出现一个消息框,其中包含以下消息:
The procedure entry point rb_hash_lookup could not be located in the dynamic link library msvcrt-ruby18.dll.
下面是
因为我迁移到了Snow Leopard,所以我不能从命令行运行任何Rake命令。
例如,如果我尝试运行rake stats,我会得到:
rake aborted!
dlopen(/Users/xxx/.gem/ruby/1.8/gems/hpricot-0.8.1/lib/hpricot_scan.bundle, 9): no suitable image found. Did find:
/Users/xxx/.gem/ruby/1.8/gems/hpricot-0.8.1/lib/hpricot_scan.bundle: no matching architecture in u
当我运行rspec时,我得到了以下ruby 1.9.3-p125的不推荐使用的警告。但是ruby 1.9.2没有不推荐使用的警告。
/gems/ruby-1.9.3-p125@cs/gems/soap4r-1.5.8/lib/xsd/iconvchars
et.rb:9:in `<top (required)>': iconv will be deprecated in the future, use String#encode instead.
/home/ec2-user/.rvm/gems/ruby-1.9.3-p125@cs/gems/hpricot-0.8.2/l
我从未使用过web服务和rails,显然这是我需要学习的东西。我选择使用hpricot,因为它看起来很棒。无论如何,_为什么我很友好地在上提供了以下示例
#!ruby
require 'hpricot'
require 'open-uri'
# load the RedHanded home page
doc = Hpricot(open("http://redhanded.hobix.com/index.html"))
# change the CSS class on links
(doc/"span.entryPerm
在Mac OS X上安装hpricot有问题。我怀疑这可能是rvm和brew之间的问题?
rvm 1.0.5 brew 0.7
有什么想法?有什么建议吗?谢谢!
$ gem install hpricot
Building native extensions. This could take a while...
ERROR: Error installing hpricot:
ERROR: Failed to build gem native extension.
/Users/dhaskin/.rvm/rubies/ruby-1.8.7-p302/bin/ruby extco
我试图用Hpricot和Ruby来解析一个HTML文件,但我在提取“自由浮动”文本时遇到了问题,这些文本没有包含在像<p></p>这样的标签中。
require 'hpricot'
text = <<SOME_TEXT
<a href="http://www.somelink.com/foo/bar.html">Testing:</a><br />
line 1<br />
line 2<br />
line 3<br />
li
我正在编写一个红宝石脚本,以获取雅虎历史上的股票价格,并使用Hpricot来解析页面。这基本上是直截了当的: url是"TickerSymbol“(例如,为了查找Google,我会使用"”)。
不幸的是,当我查看一个指数的价格时,它就崩溃了。指数以插入符号作为前缀,如道琼指数的"^DJI“。
这句话:
ticker_symbol = '^DJI'
doc = Hpricot(open("http://finance.yahoo.com/q/hp?s=#{ticker_symbol}"))
抛出此异常:
bad URI(is not URI
我正在尝试安装hpricot,但得到了以下错误。我确实安装了xcode,但我不确定还遗漏了什么。
$ gem install hpricot
Building native extensions. This could take a while...
ERROR: Error installing hpricot:
ERROR: Failed to build gem native extension.
/Users/user_name/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for std
使用hpricot,我可以获得一些div的内容-
doc = Hpricot(@response)
doc.search(".someDiv").each do |content|
puts content.inner_html
end
//这会将以下内容
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<br&g
我在Ruby中使用CSS选择器浏览文档,但我在Hpricot中发现了一些css选择器错误,这些错误已经在Nokogiri中修复了,所以我想切换到它。
我遇到的一个问题是如何获得一个包含所有“容器”(即不是文本节点)的子节点的数组。Hpricot通过containers方法提供了开箱即用的功能。
所以在Hpricot中我可以这样做:
children = doc.select('*')[0].containers
但在Nokogiri上,似乎只有下面的功能才能拥有相同的功能(我不确定它是否以完全相同的方式工作):
children = doc.css('*')[0
我正在尝试用hpricot解析一个xml文件。我试图获取的xml元素有一个破折号,因此我面临的问题是
xml
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
<trans-unit>
<source>"%0" can not be found. Please try again.</source>
<target>"%0" can not be found. Ple