草庐IT

object-to-string

全部标签

ruby - Heroku 应用程序无法启动 - `require' : no such file to load -- sinatratestapp (LoadError)

我正在尝试使用bamboo-mri-1.9.2堆栈运行我的Heroku应用程序。当然,它在Ruby1.9.2上本地运行良好。但是在生产环境中,它在执行config.ru的启动过程中崩溃,如下所示:require'sinatratestapp'runSinatra::Application我的.gems文件:sinatra--version'>=1.0'应用程序本身为sinatratestapp.rb:require'rubygems'require'sinatra'get'/'do"HellofromSinatraonHeroku!"end这就是我在项目中得到的所有内容,并尝试在Her

ruby - nokogiri 不会安装 - 错误 : Failed to build gem native extension

这个问题在这里已经有了答案:`require':nosuchfiletoload--mkmf(LoadError)(10个答案)关闭9年前。在ubuntu12.04上,我得到以下信息。sudoapt-getinstalllibxml2libxml2-devlibxsltlibxslt-devsudogeminstallnokogiriBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingnokogiri:ERROR:Failedtobuildgemnativeextension./usr/bin/ruby

ruby-on-rails - Rails redirect_to 发布方法?

redirect_to:controller=>'groups',:action=>'invite'但我收到错误消息,因为redirect_to发送GET方法我想将此方法更改为“POST”,在redirect_to中没有:method选项我该怎么办?我可以在没有redirect_to的情况下执行此操作吗?编辑:我在groups/invite.html.erb中有这个{:user_id=>friendship.friend.id,:group_id=>@group.id,:sender_id=>current_user.id,:status=>"requested"}),:method=

ruby-on-rails - `name' :String 的未定义方法 "SystemTimer"

我在让一年内无法运行的旧RubyonRails2应用程序运行时遇到问题。我正在尝试在我的项目目录的根目录中运行raketest:functionals,但我得到的是undefinedmethod'name'for"SystemTimer":String。我已将我认为与问题相关的所有内容粘贴到此处:http://pastebin.com/NgBvystZ此外,当我自己运行rake时,我得到运行测试时出错:units!不确定如何调试。我已经复制并粘贴了我认为对理解这个问题有用的所有内容。非常感谢您的宝贵时间。谢谢。 最佳答案 这是高于1

ruby - 为什么不推荐使用 Enumerable#each_with_object?

根据APIdock,Ruby方法Enumerable#each_with_object已弃用。除非它是错误的(说“在最新稳定版本的Rails上弃用”让我怀疑可能是Rails的猴子补丁被弃用了),为什么它被弃用了? 最佳答案 这更像是对否定你问题的预设的回答,也是为了确定它是什么。each_with_object方法可以节省您额外的击键次数。假设您要从数组中创建散列。使用inject,你需要一个额外的hin:array.inject({}){|h,a|do_something_to_h_using_a;h}#但使用each_with_

Ruby 1.9、YAML 和字符串编码 : how to lead a life of sanity?

在我看来,ruby1.9附带的YAML库是编码失聪的。这意味着在生成YAML时,它将采用任何字节串,并转义任何不输出干净ASCII的字节序列。这很蹩脚,但可以接受。我的问题恰恰相反。从所述YAML转储加载内容时。在下面的示例中,我创建了一个UTF-8字符串,将其转储为!binary类型。当我加载它时,它的编码是ASCII-8BIT。在示例的最后,我尝试将原始字符串和重新加载的字符串与另一个UTF-8字符串连接起来。后者将因Encoding::CompatibilityError而失败。require'yaml's0="Iñtërnâtiônàlizætiøn"y=s0.to_yamls

ruby-on-rails - has_many 和 belongs_to 协会在 factory_girl

我有这些模型,我正在尝试创建工厂以使用factory_girl。classFoo我不确定如何在不创建工厂无休止地相互调用的循环的情况下创建工厂。Factory.define:foodo|f|f.after_createdo|ff|ff.baz=Factory(:baz)endendFactory.define:bazdo|f|f.after_createdo|ff|ff.foos=[Factory.create(:foo)]endend我意识到我可以在baz工厂中省略ff.foos=[Factory.create(:foo)],但是在我的baz中测试我被迫使用foo.baz而不是仅仅使

ruby-on-rails - RSpec 故事和规范 : When to use what?

所以我想开始使用RSpec故事,但我不确定编写Controller、模型和View规范的位置。例如,您有“登录”故事和“用户提供错误的密码”场景,难道您最终测试的不是与Controller/模型规范相同的东西(response.shouldrender...,user.shouldbe_nil等)所以我的问题是:对于那些习惯于使用RoR进行bdd(或故事dd)的人,您是否仍然编写模型/Controller规范?如果是这样,您遵循的工作流程如何(“第一个故事,然后缩小到特定规范”)? 最佳答案 如果您现在开始使用故事(而不是拥有大量遗

ruby - 这是 Method#to_proc 中的错误吗? ( ruby 1.8.7)

给定以下采用一个参数的方法:deffoo(arg);parg;end我可以用一个空数组来调用它:foo([])#prints[]我也可以将它保存为一个Method对象并用一个空数组调用that,结果相同:method(:foo).call([])#prints[]但是,如果我将Method对象转换为Proc并使用空数组调用that,我会得到一个ArgumentError:method(:foo).to_proc.call([])#ArgumentError:wrongnumberofarguments(0for1)#from(irb):4:in`foo'#from(irb):4:in`

ruby - 哪种风格,lambda..should 或 expect..to,更适合在 RSpec 中测试预期?

我看到两种样式都被广泛使用:#1lambda{raise"Boom"}.shouldraise_error和#2expect{raise"Boom"}.toraise_error.我喜欢expect..tomore,因为它读起来更好,并且隐藏了过程的创建。我查看了rspec代码,似乎expect..to是suggested,但是我经常遇到使用lambda..should的库。期望..更新,因此还不是“著名”吗? 最佳答案 expect从rspec-2开始使用,之前必须使用lambda。RSpec“正式”建议使用expect,他们可能