草庐IT

get_locale

全部标签

ruby - 如何为包含 "gets.chomp"的 Ruby 方法编写 RSpec 测试?

这个问题在这里已经有了答案:rspeccommandlinevariableinput(1个回答)关闭9年前。挑战嗨!对于以下Ruby方法,如何在不重写方法的情况下使用RSpec测试模拟用户输入?defcapture_nameputs"Whatisyourname?"gets.chompend我找到了asimilarquestion,但这种方法需要使用一个类来创建。RSpec是否支持对不在类中的方法进行stub?一个不同的作品,但我不得不重写方法我可以重写该方法,使其具有默认值为“gets.chomp”的变量,如下所示:defcapture_name(user_input=gets.c

ruby-on-rails - Ruby DateTime 格式 : How can I get 1st, 第二、第三、第四?

首先,DateTime格式变量似乎没有在任何地方记录,因此对可以在rubydocs中向我展示此内容的任何人+1。其次,在查看Date.strftime函数代码时,我没有看到任何可以让我执行以下操作的内容:2010年9月9日,星期四有人知道这是否可行吗? 最佳答案 您可能想要takealookhere.总结time=DateTime.nowtime.strftime("%A,%B#{time.day.ordinalize}%Y")请注意,您在纯Ruby(2.0)中运行,您需要调用:require'active_support/core

ruby-on-rails - Ruby on Rails : get route using controller, 操作和参数

我对RoR很陌生,我正在寻找一种方法来为给定的Controller、操作和参数获取路由。类似于url_for()但没有域和协议(protocol)。假设我有:params={"controller"=>"controller","action"=>"edit","project_id"=>"1"}我需要得到:route="/controller/edit/1"如果我不需要手动构建路由并且不需要拆分url_for()的结果,那将是最好的。RoR本身是否支持这样的功能?这可能是一个简单的问题,但我找不到答案。 最佳答案 您应该能够使用以

Ruby 1.8.7 和 Net::HTTP:使用客户端证书发出 SSL GET 请求?

我正在尝试使用Net::HTTP通过SSL获取资源。这是相关的代码片段:req=Net::HTTP::Get.new(ContentURI.path)https=Net::HTTP.new(ContentURI.host,ContentURI.port)https.use_ssl=truehttps.cert=OpenSSL::X509::Certificate.new(@cert_raw)https.key=OpenSSL::PKey::RSA.new(@cert_key_raw)https.verify_mode=OpenSSL::SSL::VERIFY_PEERhttps.ca_

Spring 国际化遇到的坑 No message found under code ‘xxx.xxxx‘ for locale ‘zh_CN‘

Spring国际化遇到的坑org.springframework.context.NoSuchMessageException:Nomessagefoundundercode‘xxx.xxxx’forlocale‘zh_CN’背景以前做的项目客户群体只有国内的客户,从来没有考虑过语言文字的问题。这次有一个需求的返回内容,要根据客户设置的语言返回不同的语言。尝试使用了以后,结果发现怎么都不好使,一直报的一个错误如下:org.springframework.context.NoSuchMessageException:Nomessagefoundundercode'user.name'forloc

ruby-on-rails - 使用 Upstart 管理 Unicorn w/rbenv + bundler binstubs w/ruby-local-exec shebang

好吧,这让我的大脑融化了。这可能与我不了解Upstart以及我应该了解的事实有关。对于这么长的问题提前致歉。我正在尝试使用Upstart来管理Rails应用程序的Unicorn主进程。这是我现在的/etc/init/app.conf:description"app"startonrunlevel[2]stoponrunlevel[016]consoleowner#expectdaemonscriptAPP_ROOT=/home/deploy/appPATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:$PATH$APP_ROOT/

ruby - -bash :/usr/local/bin/heroku:/usr/local/bin/ruby: bad interpreter: No such file or directory

每当我打开一个新的终端窗口时,我现在得到:-bash:/usr/local/bin/heroku:/usr/local/bin/ruby:错误的解释器:没有那个文件或目录知道为什么会发生这种情况以及如何摆脱它吗? 最佳答案 确保文件/usr/local/bin/heroku的第一行是#!/path/to/ruby。您可能需要将其从/usr/local/bin/ruby更改为/usr/bin/ruby,或者如果找不到ruby可执行文件,键入whichruby​​或updatedb&&locateruby​​找到它。如果上述方法不起作用

ruby-on-rails - 使用 get 和 delete 运行 Rspec 测试时获取错误数量的参数(2 个为 0)

这应该是一个简单的问题,就是找不到导致测试失败的原因。运行rspec时,我不断收到以下错误。但是在评论“发送”方法之后,一切正常。1)MessagesGET/messagesworks!(nowwritesomerealspecs)Failure/Error:gettarget_app_messages_path(@message.target_app.id)ArgumentError:wrongnumberofarguments(2for0)#./app/controllers/messages_controller.rb:37:in`send'路线.rbresources:targ

ruby-on-rails - rails : Why do I get "warning: already initialized constant JSON::VERSION" when running rake cucumber?

我刚刚设置了一个LinuxMintbox,用于使用rvm进行Rails开发。我继续生成了一个Rails5应用程序,设置了mysql连接,添加了cucumber-railsgem然后尝试运行:rakecucumber出于某种原因,我遇到了:/usr/bin/ruby2.3-Sbundleexeccucumber--profiledefault/usr/lib/ruby/vendor_ruby/json/version.rb:3:warning:alreadyinitializedconstantJSON::VERSION/var/lib/gems/2.3.0/gems/json-1.8.

ruby - 具有 block 局部参数的多个 Kernel#local_variables 条目

我在ArchLinux上使用这个版本的Ruby。我还尝试了ruby​​1.9中的第一个代码片段,结果相同。ruby-vruby2.1.0p0(2013-12-25revision44422)[x86_64-linux]uname-aLinuxryantm0j1323.12.7-2-ARCH#1SMPPREEMPTSunJan1213:09:09CET2014x86_64GNU/Linux下面这三个片段是独立的程序。当我使用隐藏变量的block局部变量时,local_variables数组包含3个条目:a=1putslocal_variables.inspect#=>[:a]proc{|