Tag: ruby 1.9.2

关键在ruby新哈希

Ruby 1.9.2的新哈希语法存在一个奇怪的问题。 如何在1.9.2中将任何Object作为密钥放入哈希? 在1.8.7哈希它工作: a=”b” {“a” => “some”,a => “another value”,:a => “3rd value”} 但是在1.9.2>我们不能(或者如果我错了怎么办?) 1.9.2哈希: {a: “some”} => {:a=>”s”} #it convert to old hash format 但 a=”a” {a: “…”} # This doesn’t work {“a”: “some value”} => syntax error, unexpected ‘}’, expecting $end from /home/naveed/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `’ {1: “s”} => SyntaxError: (irb):11: syntax error, unexpected […]

ruby-1.9.2的附加错误

当我添加0.1+0.2我得到0.30000000000000004但是当我在ruby 1.8.7添加相同的数字时,我得到了正确答案0.3 。 我通过舍入得到0.3 ,但我只想通过加0.1和0.2得到ruby 1.9.2的0.2

在Ruby 1.9.2中使用SOAP和其他标准库

所以,我最近升级到1.9.2 Ruby,永远使用1.8.7(我想尝试Rails 3)。 我遇到的最大问题是我的SOAP要求语句都没有工作……我有类似的东西: require ‘soap/rpc/driver’ require ‘xsd/qname’ require ‘soap/wsdlDriver’ require ‘ftools’ 即使是ftools也无法正常工作,但我认为(看看Ruby源代码)这成了’fileutils’? 但我没有看到任何类似的SOAP …..它刚被删除? 如果是这样……我该怎么办? 是否有任何插件基本上做同样的事情? 我的代码是这样的: require ‘soap/wsdlDriver’ def send_package adi_url = “ftp://anonymous:ads123@#{APP_CONFIG[‘pcms_ip’]}/#{self.id}/original/ADI.XML” cl0 = SOAP::WSDLDriverFactory.new(APP_CONFIG[‘corba_bridge’]) driver = cl0.create_rpc_driver driver.streamhandler.client.receive_timeout = 10 x = driver.exportPackage2(self.name+self.id.to_s, adi_url, “NS2.PackageFactory”) log x if x.to_s =~ /ERROR/ raise x.to_s end end 和 require ‘soap/rpc/driver’ require ‘xsd/qname’ def […]

ActionView :: Template :: Error(不兼容的字符编码:UTF-8和ASCII-8BIT)

我使用Ruby 1.9.2,Rails 3.0.4 / 3.0.5和Phusion Passenger 3.0.3 / 3.0.4。 我的模板是用HAML编写的,我使用的是MySQL2 gem。 我有一个控制器动作,当传递一个具有特殊字符的参数,如变音符号,给我以下错误: ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT) 该错误指向我的HAML模板的第一行,其中包含以下代码: 我的理解是,这是因为我有一个UTF-8字符串与ASCII-8BIT字符串连接,但我不能在我的生活中弄清楚ASCII-8BIT字符串是什么。 我已经检查过动作中的参数是用UTF-8编码的,我已经添加了一个编码:UTF-8声明到HAML模板的顶部和ruby文件,我仍然得到这个错误。 我的application.rb文件中也有一个config.encoding = “UTF-8″声明,以下所有结果都是UTF-8: ENV[‘LANG’] __ENCODING__ Encoding.default_internal Encoding.default_external 这是踢球者:我无法在开发或生产中使用独立乘客或杂种在我的Mac-OSX上本地重现此结果。 我只能在linux上运行nginx + passenger的生产服务器上重现它。 我已经在生产服务器的控制台中validation了后面提到的命令都是UTF-8的结果。 您是否遇到过同样的错误?您是如何解决的?