草庐IT

Javascript:生成具有固定均值和标准差的随机数

全部标签

ruby - 从 Cucumber/Capybara 测试中执行 JavaScript

似乎Selenium有一个名为JavascriptExecutor的功能,它可以直接在页面上执行JavaScript。然而,我的Cucumber/Capybara测试似乎没有这样的东西。如何从我的Cucumber测试中执行任意JavaScript? 最佳答案 Capybara有两种执行javascript的方法#execute_script和#evaluate_script。两者都可以在以下位置找到:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Seleni

ruby-on-rails - 为什么 Rails 生成运行类而不是对象的 config.ru?

RackspecifiesARackapplicationisaRubyobject(notaclass)thatrespondstocall.因此,一个简单的config.ru看起来像这样:classMyAppdefcall(env)[200,{"Content-Type"=>"text/plain"},["HellofromRack!\n"]]endendrunMyApp.new当Rails生成这个时:#ThisfileisusedbyRack-basedserverstostarttheapplication.require::File.expand_path('../confi

ruby-on-rails - Ruby Gem ActiveRecord 具有多个条件的查找方法

我正在使用三个数据库表构建一个Sinatra应用程序:user、post和like。我想运行一个查询来在like表中找到一个条目,如下所示:FINDinlikeWHEREuser_id==params[:user_id]ANDpost_id==params[:post_id](对于一种情况,我将使用:Like.find_by_user_id(params[:user_id]))我的问题是:如何使用ActiveRecordGem运行具有多个条件的查找查询? 最佳答案 使用where:Like.where('user_id=?ANDpo

ruby - 在 webmock 中对同一个端点的多次调用具有不同的结果?

我有一些看起来像这样的代码:whileresponse.droplet.status!=env["user_droplet_desired_state"]dosleep2response=ocean.droplet.showenv["droplet_id"]say".",nil,falseend想法是您可以将应用程序设置为等到服务器处于特定状态(例如,重新启动它,然后观察它直到它再次处于事件状态)但是,我在测试中使用的是webmock,我想不出一种方法来第二次给出不同的响应。例如,代码如下:stub_request(:get,"https://api.digitalocean.com/

ruby - 如何像在 Javascript 中一样在 Ruby 中动态创建对象及其方法?

我最近发现在Ruby中动态创建对象和方法是一件很费力的事情,这可能是因为我有Javascript背景经验。在Javascript中,您可以动态创建对象及其方法,如下所示:functionsomewhere_inside_my_code(){foo={};foo.bar=function(){/**dosomething**/};};如何在Ruby中完成上述语句(与在Javascript中一样简单)? 最佳答案 您可以使用单例方法实现此目的。请注意,您可以对所有对象执行此操作,例如:str="Ilikecookies!"defstr.

ruby-on-rails - 使用 Rails Assets 管道在 JavaScript 文件中编码问题

我正在使用Rails3.1和Assets管道(ruby1.9.2)。在尝试提供具有utf-8编码字符串的javascriptjs.erb文件时出现以下错误invalidbytesequenceinUS-ASCII我在我的environment.rb文件中设置了Encoding.default_external="UTF-8"。我如何让Assets管道以不同的编码提供服务?编辑仅当我在文件外部生成utf-8字符时才会出现该错误(在本例中是通过从数据库查询)。如果我添加,错误就会消失到文件的顶部。我猜这里会进行某种编码猜测,但如果没有那种骇人听闻的解决方案,我该如何避免呢?

ruby - 在 Ruby 中测试标准输入

我目前正在尝试测试一种基本方法,该方法从用户那里接收一些输入(gets)并将其输出(puts)。经过一番研究后,我发现了一种测试标准输出流的好方法,如下所示:defcapture_standard_output(&block)original_stream=$stdout$stdout=mock=StringIO.newyieldmock.string.chompensure$stdout=original_streamend我正在测试的方法是下面的方法,输出和输入指的是我在开始时初始化的ivars,并指向等效的$stdout和$stdin:defask_for_markouput.p

ruby-on-rails - 从 HTML 页面中删除所有 JavaScript

我试过使用Sanitizegem清理包含网站HTML的字符串。它只删除了标记,而不是脚本标记内的JavaScript。我可以使用什么从页面中删除JavaScript? 最佳答案 require'open-uri'#includedwithRuby;onlyneededtoloadHTMLfromaURLrequire'nokogiri'#geminstallnokogirireadmoreathttp://nokogiri.orghtml=open('http://stackoverflow.com')#GettheHTMLsour

Ruby rest-client 文件上传为具有基本身份验证的多部分表单数据

我了解如何通过Ruby的rest-client使用基本身份验证发出http请求response=RestClient::Request.new(:method=>:get,:url=>@base_url+path,:user=>@sid,:password=>@token).execute以及如何将文件作为多部分表单数据发布RestClient.post'/data',:myfile=>File.new("/path/to/image.jpg",'rb')但我似乎无法弄清楚如何将两者结合起来以便将文件发布到需要基本身份验证的服务器。有谁知道创建此请求的最佳方式是什么?

ruby - 在 Ruby 中拆分具有多个分隔符的字符串

举个例子,我有一个这样的字符串:options="Cakeorpie,icecream,orpudding"我希望能够通过或、、和或拆分字符串。问题是,我已经能够做到这一点,但只能先解析、和,或者,然后在处拆分每个数组项>或,然后像这样展平结果数组:options=options.split(/(?:\s?or\s)*([^,]+)(?:,\s*)*/).reject(&:empty?);options.each_index{|index|options[index]=options[index].sub("?","").split("or");}结果数组如下:["Cake","pie