草庐IT

preg-match-all

全部标签

ruby-on-rails - 使用#update_all 更新时间戳

当我有要更新其属性的ID列表时,数据库中的updated_at字段似乎没有改变,这就是我的意思:ids=[2,4,51,124,33]MyObj.where(:id=>ids).update_all(:closed=>true)执行此更新后,updated_at字段不会更改。但是,当我使用railsc进入rails控制台并执行此操作时:obj=MyObj.find(2)obj.closed=false;obj.save!在此语句之后updated_at字段更改值。为什么是这样?当发生这种情况时,我正在监听更新并执行整个应用程序流程时,我依赖于我的应用程序中的这个updated_at字段

ruby - 使用 WWW :Mechanize to download a file to disk without loading it all in memory first

我正在使用Mechanize来简化某些文件的下载。目前我的脚本使用以下行来实际下载文件...agent.get('http://example.com/foo').save_as'a_file_name'然而,这会将完整的文件下载到内存中,然后再将其转储到磁盘。你如何绕过这种行为,直接下载到磁盘?如果我需要使用WWW:Mechanize以外的东西,那么我将如何使用WWW:Mechanize的cookies呢? 最佳答案 您真正想要的是Mechanize::Downloadhttp://mechanize.rubyforge.org/

ruby - 在 Ruby Net::IMAP 中选择邮箱 "sent mail"或 "all mail"

我试图在Ruby中使用Net::IMAP来搜索我发送的所有邮件,但我无法选择收件箱以外的任何内容。imap.select('INBOX')工作正常,但是imap.select('Mail/sent-mail')如Net::IMAP文档所示,显示“未知邮箱”。顺便说一句,这是与gmail一起使用的。我还尝试将“in”、“anywhere”添加到我的imap.search()中,但没有解析。当前代码:imap.select('INBOX')now=Time.now.localtime-1209600#twoweekssince=now.day.to_s()+"-"+Date::MONTHN

ruby - Groovy 相当于 ruby​​ all 和 none

我想知道Groovy中Collection的所有(或没有)项目是否满足特定条件。我知道在ruby​​中(以及在带有linq的c#中),您可以调用all?和none?之类的方法并将条件作为闭包传递以完成此操作.在Groovy中是否有与此方法等效的方法? 最佳答案 是的,它的!any(对于Ruby的none)和every(对于Ruby的all):deflist=[1,2]assert!list.any{it0}另请参阅http://groovy.codehaus.org/JN1015-Collections处的文档

ruby-on-rails - Rails catch-all/globbing 路线

我使用的是rails3.0.14,我正在使用足智多谋的风格构建routes.rb。我想要一个通配符路由来捕获所有与任何所述路由不匹配的请求。构建这样一条路由的合适方法是什么? 最佳答案 放match'*path'=>'your_controller#your_action'在routes.rb文件的末尾。这很重要,因为路线是自上而下逐步进行的。另见http://guides.rubyonrails.org/routing.html->3.10 关于ruby-on-rails-Railsc

ruby-on-rails - Rails - 如何将变量插入正则表达式 (Regex),例如 assert_match

我想做类似的事情assert_match/blahblahblah#{@user}/,@some_text但我运气不好。我在这里做错了什么? 最佳答案 这是将变量插入正则表达式的正确方法:irb(main):001:0>a='Hi'=>"Hi"irb(main):002:0>b=/Not#{a}/=>/NotHi/所以您的问题很可能是断言由于匹配不当而失败。检查@user和@some_text的值并尝试http://rubular.com想出一个匹配的正则表达式 关于ruby-on-ra

ruby - 遍历每个 "match"(Ruby 正则表达式)

好的,我可以在字符串中找到正则表达式匹配项,并进行一些捕获。现在,如果我的字符串有很多匹配项怎么办?假设我的代码找出字符串中括号内的数字。该代码将在类似的字符串中找到数字(5)但是如果字符串是(5)(6)(7)我需要一种方法来遍历这三个元素。我看过教程,但他们似乎只谈论一次性比赛...... 最佳答案 如果我没理解错的话,你可以使用String#scan方法。请参阅文档here. 关于ruby-遍历每个"match"(Ruby正则表达式),我们在StackOverflow上找到一个类似的

ruby - 为什么.all?在空数组上返回 true?

我想使用Ruby评估数组中的所有项,如果它们都通过条件测试则返回true。我可以使用例如array.all?{|值|值==2}所以:>array=[2,2]>array.all?{|value|value==2}=>true>array=[2,3]>array.all?{|value|value==2}=>false太棒了!但是,为什么一个空数组可以通过这个测试呢?>array=[]>array.all?{|value|value==2}=>true这不应该返回false吗?如果我需要它返回false,我应该如何修改方法? 最佳答案

ruby-on-rails - ruby 正则表达式错误 : incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string)

我遇到了两个错误,都与编码有关并且都相关。我在启动WEBrick时遇到的第一个错误(技术上是警告):/Users/USERNAME/example/config/initializers/bb-ruby.rb:54:warning:invalidUnicodeProperty\P:/\:\-?\P/它所指的行是:/\:\-?\P/,这只是一些正则表达式,最终是这个block的一部分:@@tags['Razzing']=[/\:\-?\P/,'','Razzing',':P',:razzing]然后,我在解析一些字符串时也得到了以下错误(大概是由于同一行)...Encoding::Com

ruby-on-rails - 在 RSpec 中,在 :all block 之前使用 let 变量

我的大部分测试中都有以下代码:describe'index'let(:company){FactoryGirl.create(:company)}let(:user){FactoryGirl.create(:user,company:company)}beforedosign_inuservisitproducts_pathend...end但我收到以下警告:WARNING:letdeclaration'user'accessedina'before(:all)'我的问题是,这样做的正确方法是什么?我找不到关于警告本身的太多信息。谢谢!编辑:我的目标是使用user变量,这样我就可以将它