草庐IT

basic-setup-with-three-boxes

全部标签

ruby-on-rails - 将多个字符串传递给 ruby​​ starts_with?

我有这个代码ifself.name.starts_with?('Bronze')||self.name.starts_with?('Silver')||self.name.starts_with?('Gold')有没有一种方法可以一次传递所有这些字符串而不是大量的OR,因为我可能必须对此进行扩展? 最佳答案 String#start_with?接受任意数量的参数。您不需要使用||。'Silvermedal'.start_with?('Bronze','Silver','Gold')#=>true'Hellomedal'.start_

ruby-on-rails - Array.count with block 不返回正确答案

我有一个从数据库调用创建的赋值对象数组:@assignments=@player.assignments我想用这个来计算它们:@assignments.count{|x|x.sets==0.0}这应该计算0.0组的作业数。但是,这总是返回@assignments中的对象总数。我查过了@assignments.each{|x|putsx.sets==0.0}并非在所有情况下都返回true。有什么线索吗?编辑>@assignments.map(&:sets)=>[35.0,120.0,0.0,0.0,0.0,0.0,0.0,12.0,75.0,0.0,0.0,0.0,0.0]

ruby - 在 Ruby 中替换 ' with\'?

我正在尝试弄清楚如何用\'之类的内容替换'之类的引号。我该怎么做?我试过了"'".gsub("'","\\'")但它只是给出一个空字符串。我在这里做错了什么? 最佳答案 这个怎么样puts"'".gsub("'","\\\\'")\'原因是\'在gsub(正则表达式)中表示post-match并且因此需要使用\\'进行转义和\显然被转义为\\,以\\\\'结尾.例子>>"abcd".gsub("a","\\'")=>"bcdbcd"a替换为a之后的所有内容. 关于ruby-在Ruby中替

ruby-on-rails - 事件记录 :includes with limit

我有一个包含很多图片的文章表图像为每篇文章排序,第一个排序的图像旨在作为文章缩略图。在文章Controller索引方法中,我目前正在执行以下操作以限制为2个事件记录查询;@articles=Article.where(:active=>true).includes(:images)访问缩略图:#articlemodeldefthumbself.images.firstifself.imagesend问题是这只有2个查询,但如果每篇文章有10张图片并且我在每个页面上有50篇文章,那么我将500个图像行加载到内存中。在事件记录中是否有更有效的方法。希望不必使用find_by_sql

ruby-on-rails - 摩卡 : How to add expectation of a method when there are multiple invocations with different parameters

我有一个RailsControllerAction要测试。在那个Action中,一个方法User.can?使用不同的参数多次调用。在其中一个测试用例中,我想确保User.can?('withdraw')被调用。但我不关心User.can的调用?与其他参数。defaction_to_be_tested...@user.can?('withdraw')...@user.can?('deposit')...end我在测试中尝试了以下:User.any_instance.expects(:can?).with('withdraw').at_least_once.returns(true)但是测

ruby-on-rails - rails : Why images are not showing in my rails basic app

我的index.html.erb代码-Listingproducts'list_image')%>图像在app\assets\images下..但是前端没有显示静态图像。当我Firebug它时,我相信图像标签是正确形成的...让我知道我在这部分缺少什么。截图-图片也到位了-让我知道我做错了什么,我该如何解决。编辑github.com/swapnesh/depot请告诉我为什么它在我的案例中不起作用。尽管更改/images/product1.jpgTo/assets/product1.jpg使其正常工作。 最佳答案 如果您正在使用As

ruby-on-rails - 为什么我会出现间歇性的 Excon::Error::Socket: getaddrinfo: No address associated with hostname (SocketError)?

Rails4-Ruby2.2.2-亚马逊AWSS3-蜻蜓1.0.12-dragonfly-s3_data_store1.2-fog-aws0.10.0大约99%的时间我们没有问题。这个问题通常只发生在使用率很高的时候,但我注意到它也发生在几乎没有用户的时候。抛出错误的行:#excon/lib/excon/socket.rb#line100insidetheconnectionmethod.addrinfo=::Socket.getaddrinfo(*args)该错误在应用程序中无处不在。有时在没有远程连接时会出现错误。-我无法再验证这一点。我使用Rails记录器来捕获传入的参数,通过和

ruby - bundle exec 和 require 'bundler/setup' 是否等效?

这些事情完成的是否完全相同?使用bundleexecruby​​foo.rb启动ruby​​进程将require"bundler/setup"作为foo.rb的第一行 最佳答案 在您的特定示例中,它们可以被认为是相同的,但实际上它们并不相同。bundleexec对bundler/setup没有进行的环境进行了一些更改。如果您的foo.rb从不运行子shell,或者从不尝试在子shell中运行其他ruby​​可执行文件,那么这两个版本是等效的(它们都将正确加载bundle的gem并且工作完全相同)。bundleexec的整个想法是让您

ruby-on-rails - RSpec : comparing a hash with string keys against a hash with symbol keys?

考虑以下RSpec片段:it"shouldmatch"do{:a=>1,:b=>2}.should=~{"a"=>1,"b"=>2}end此测试失败,因为一个散列使用符号作为键,而另一个使用字符串作为键。在我的例子中,一个散列是一个解析的JSON对象,另一个是创建该对象的散列。我希望他们能平等地进行比较。在我编写自己的匹配器或强制两个哈希都具有字符串键之前,是否有匹配器或技术可以处理这种(常见)情况? 最佳答案 你可以这样做:it"shouldmatch"do{:a=>1,:b=>2}.stringify_keys.should=~

ruby - 获取名称错误 : `format' is not allowed as an instance variable name when testing instance variable with rspec

我有以下测试:let(:client){Descat::Client.new}describe'poblacio'doit'shouldsetformatcorrectly'doclient.poblacio('v1','json','dades')expect(client.instance_variable_get(:format)).toeq('json')endend我有以下正在测试的代码:moduleDescatclassClientBASE_URL='http://api.idescat.cat/'definitialize(attributes={})attributes