草庐IT

php类异常处理问题

全部标签

ruby - Ruby 如何在语义上处理赋值?

在Ruby中,我们使用=运算符为对象赋值。将此与隐式类型结合起来,我们经常会遇到这样的情况:myVar=:asymbol上面的行既创建了一个新的符号对象,又将该对象绑定(bind)到变​​量名myVar。语义上,这是如何完成的?我一直在脑海中反复强调,=运算符不是解释器中内置的神奇语法,但实际上只是对象的语法糖.=(value)方法。考虑到这一点,我最好的猜测是,当解释器看到我们试图给一个undefinedvariable名赋值时,它首先创建一个特殊类型的新对象,比如undefined或null或其他东西,然后将:=消息传递给该对象,有效负载是我们尝试分配的值。但是,在未实例化的对象上

ruby - 创建 Compass 项目时出现的问题(EACCES on line ["891"])

我在创建新的compass项目(Windows7)时遇到问题。我明白了:C:\>compasscreateacreateconfig.rbErrno::EACCESonline["891"]ofC:Permissiondenied-(C:/a/config.rb20140321-6828-1g0ytlc,C:/a/config.rb)Runwith--tracetoseethefullbacktrace我尝试以“以管理员身份运行”启动cmd,我尝试删除compass、sass和ruby​​,然后重新安装,但没有成功。还有其他人遇到问题或知道解决这个恼人问题的方法吗?

ruby-on-rails - Rails 4 to_json 产生意外异常 nil 不是符号

我正在将Rails3应用程序升级到Rails4。在Rails3中,包含ActiveRecord对象数组的散列的json序列化工作正常;现在在Rails4中它有不可预测的结果。这是一个在Rails4上因TypeErrorException:nilisnotasymbol而失败的示例对象{1230=>[#,#]}现在如果我拿另一个类似的物体;包含一组ActiveRecord对象的哈希并运行to_json它适用于这个...{1234=>[#,#]} 最佳答案 支持我的QuestionAnswerResponse模型的View没有id列,而

ruby-on-rails - Minitest 问题 Ruby on Rails

我正在阅读MichaelHartl撰写的RubyonRails教程并继续阅读。然而,我在尝试进行一些测试时遇到了问题。[fran@fran-desktoptwitter-clone]$bundleexecraketest/media/Data.II/Dropbox/WebDevelopment/odin-project/3.RubyonRails/twitter-clone/db/schema.rbdoesn'texistyet.Run`rakedb:migrate`tocreateit,thentryagain.Ifyoudonotintendtouseadatabase,yoush

ruby-on-rails - 模拟 rspec 中的错误/异常(不仅仅是它的类型)

我有一段代码是这样的:defsome_methodbegindo_some_stuffrescueWWW::Mechanize::ResponseCodeError=>eife.response_code.to_i==503handle_the_situationendendend我想测试ife.response_code.to_i==503部分发生了什么。我可以模拟do_some_stuff以抛出正确类型的异常:whatever.should_receive(:do_some_stuff).and_raise(WWW::Mechanize::ResponseCodeError)但是我

ruby-on-rails - var_dump 并像 php 一样死去,在 ruby​​ on rails 中(在 ruby​​ on rails 中调试)

这可能是重复的问题。但是我无法显示对象。我是ruby​​的新手,尝试过像var_dump和print_r这样的调试,然后在php中die/p>这是我的代码。@brand_id=Brand.maximum("brand_id")我试过下面的方法1putsYAML::dump(@brand_id)2logger.debug{@brand_id.inspect}请问谁能帮我解决一下吗? 最佳答案 Rails只会将View输出到浏览器。任何其他输出都发送到服务器上的STD_OUT。从View中调试很简单:但是从Controller或模型内部

ruby-on-rails - 处理超时错误

使用超时后:status=Timeout::timeout(5){#Somethingthatshouldbeinterruptedifittakestoomuchtime...}我收到这个超时错误:/Users/galharth/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:644:in`initialize':executionexpired(Timeout::Error)from/Users/galharth/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb

错误为 "illegal/malformed utf-8"的 Ruby to_json 问题

我在尝试将散列转换为json字符串时遇到错误JSON::GeneratorError:sourcesequenceisillegal/malformedutf-8。我想知道这是否与编码有关,我怎样才能让to_json只按原样对待\xAE?$irb2.0.0-p247:001>require'json'=>true2.0.0-p247:002>a={"description"=>"iPhone\xAE"}=>{"description"=>"iPhone\xAE"}2.0.0-p247:003>a.to_jsonJSON::GeneratorError:sourcesequenceisi

ruby - 只处理 HTML 片段并返回它

当我对Nokogiri执行以下操作时:some_html='test'f=Nokogiri::HTML(some_html)#dosomeprocessingputsf它将打印整个XHTML文档结构,其中包含上层代码。我怎样才能打印/返回/获取some_html变量中的html部分?没有。f将返回:"\n\ntest\n\n"我只想要内部/片段部分:test 最佳答案 不要使用Nokogiri::HTML(...)进行解析,而是使用Nokogiri::HTML::fragment(...):asdf=Nokogiri::HTML::

ruby-on-rails - 查询多条记录时如何避免ActiveRecord::RecordNotFound异常

我有这个代码:Article.find([1,2,3])但数据库中只有记录1和2。我得到这个异常(exception):"ActiveRecord::RecordNotFound(Couldn'tfindallOfferswithIDs(1,2,3)(found2results,butwaslookingfor3))"有没有办法只获取现有记录而不获取异常? 最佳答案 Article.find_all_by_id([1,2,3])是要走的路! 关于ruby-on-rails-查询多条记录时