草庐IT

MySQL基于不同时间段的流行行数

全部标签

ruby-on-rails - 改善缓慢的 Rails 启动时间(rails 控制台、rails 服务器)

我使用多个Rails应用程序,一些在Rails3.2/Ruby2.0上,一些在Rails2.3/Ruby1.8.7上。他们的共同点是,随着他们的成长和添加更多的依赖项/gem,他们需要越来越长的时间来启动。开发、测试、生产、控制台,无所谓;有些需要60多秒。首先分析导致加载时间如此缓慢的原因,其次改善加载时间的首选方法是什么? 最佳答案 有几种情况会导致这种情况。过多的GC遍数和一般的VM缺点-请参阅thisanswer以获得全面的解释。Ruby许多遗留gem必须迭代才能加载文件。如果您使用的是bundler,请尝试bundlecl

ruby-on-rails - 为什么这两个日期时间不同?

为什么Time.current不等于其解析的等价物?current=Time.current#Wed,16Sep201517:10:56CEST+02:00parsed=Time.zone.parse('16Sep201517:10:56')#Wed,16Sep201517:10:56CEST+02:00current==parsed#false我实际上在RubyonRails应用程序中遇到了这个问题,我尝试根据已解析的日期时间属性查找记录,如最后几行所示。我真的不明白。时区相同,时间相同,精确到秒。这里发生了什么?此外,我应该如何继续根据解析的日期时间查找记录?

ruby-on-rails - 将日期与 rails3 中的日期时间 Created_at 进行比较

所以我正在尝试做这样的事情:today=Date.today-1todaysReport=Report.where(:created_at=>today).find_by_user_id(user.id)问题是created_at是一个日期时间,所以它找不到任何匹配项。有什么建议吗? 最佳答案 你可能想要这样的东西:yesterday=Time.now-1.dayuser=User.find(user_id)todaysReport=user.reports.where(["created_at>=?ANDcreated_at

ruby-on-rails - 计算两个 Time 对象之间的时间差

假设我从我的用户模型中创建了两个时间对象:created=u.created_atupdated=u.updated_at如何计算两个时间对象之间的小时差?hours=created-updated我想将它包装在一个方法中并扩展Time类。我很难相信我需要扩展它,但我似乎无法找到一种本地方法来处理使用不同时间单位计算耗时。 最佳答案 这应该有效:hours=((created-updated)/1.hour).round相关问题:RailsTimedifferenceinhours 关于

ruby - 为什么 Ruby 调试器在运行时返回的值与代码不同?

看看这个简单的Ruby类:require'byebug'classFoodefrunbyebugputsdefined?(bar)putsbar.inspectbar='localstring'putsdefined?(bar)putsbar.inspectenddefbar'stringfrommethod'endendFoo.new.run运行此类时,可以在调试器的控制台中观察到以下行为:$rubybyebug.rb[2,11]in/../test.rb2:3:classFoo4:defrun5:byebug6:=>7:putsdefined?(bar)8:putsbar.insp

ruby-on-rails - 在不更改系统时钟的情况下在 rspec 测试中设置系统时间

我正在努力让Rails3应用程序准备好使用时区。我的开发机器在美国东部时间,我托管的服务器在UTC。在我的rspec测试中有没有一种方法可以更改ruby​​使用的系统时区,这样我就可以使用相同的系统时区运行测试,而不必更改我计算机上的系统时钟?我研究过Delorean和Timecop,它们不是我要找的。我正在寻找类似的东西Time.system_time_zone="UTC"...然后Time.now将返回UTC时间,而不是我的系统时区设置的时间。 最佳答案 before{Time.stub(:now){Time.now.utc}}

ruby-on-rails - 如何找出现有 Rails 项目基于哪个 Ruby 版本?

我有一个现有的RubyonRails项目。如何找出应用程序最初使用的Ruby版本?编辑:总结一下这个线程:如果没有特定于ruby​​版本的gem,那么每个Ruby都应该可以工作。您的所有帖子都很有帮助-谢谢。 最佳答案 如果没有使用特定于版本的gem,我不确定是否可以确定在开发过程中使用的确切ruby​​版本。在任何情况下,该应用都可能适用于多个版本,具体取决于它所具有的功能。如果该应用有全面的测试,您可以回过头来找到所有测试都通过的最新版本。检查与所用Rails版本兼容的最低Ruby版本也有助于缩小范围。

Ruby if vs 行尾 if 行为不同?

为什么这段代码不起作用?bifb=true错误:未定义局部变量或方法“b”但是这样做:ifb=truebend他们不应该是一样的吗? 最佳答案 这是一个很好的问题。它与Ruby中变量的作用域有关。这是一个postbyMatzontheRubybugtracker关于这个:localvariablescopedetermineduptodown,lefttoright.Soalocalvariablefirstassignedintheconditionofifmodifierisnoteffectiveintheleftsideif

ruby-on-rails - gem install mysql2 v '0.3.11' 无法在 Yosemite 上运行

在ruby​​版本1.9.3(rvm)上执行mysql2版本0.3.11的捆绑安装或直接gem安装时,我收到以下错误。但是当我安装最新版本0.3.16时它可以工作。我还包含了我的gcc版本以供引用。Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./Users/ginocarlocortez/.rvm/rubies/ruby-1.9.3-p547/bin/rubyextconf.rbcheckingforrb_thread_blocking_region()...yescheckingforrb_wait_for_si

ruby - 将 UTC 时间转换为太平洋时间

我从外部方法得到一个带有时间和日期的字符串,就像这样"07/09/1014:50"有什么方法可以将ruby中的时间转换为“PacificUS”'时间知道它的'UTC'时间?更改占日期?即,如果时差导致日期不同。 最佳答案 既然您正在使用Rails,那么您有很多选择。我建议阅读thisarticle谈论时区。要转换为PST,这两个都是特定于rails的方法。无需重新发明轮子:time=Time.parse("07/09/1014:50")time.in_time_zone("PacificTime(US&Canada)")希望对你有帮