#4 楼 @beiersi 你这思路不对,rails
会在存储数据库时采用 UTC
时间,然后取的时候再转换出来。所以 mysql
应当使用 UTC
存储。这里有一个参考:
https://makandracards.com/makandra/646-how-rails-and-mysql-are-handling-time-zones
sublime 给的压力大了,TextMate2 开源了。
#3 楼 @5long #2 楼 @rociiu https://github.com/rubyspec/rubyspec/blob/master/language/def_spec.rb#L35 补充这个。
基本可以确定这种写法:
super
时,将参数传递给 super
; 否则无视各参数。#11 楼 @jimrokliu 会用到,不过我有时候更喜欢 puts
. 这绝对是神器。
grep
类似的工具 ( 在 ruby 里推荐rak
: gem install rak
安装它) 很重要,在你查找被调用方法在哪里时。因为 Ruby 动态性较强,ctags 反而没必要。
用标准的 desert
Ruby1.9.3 缺省加载 rubygems
, rubygems 是采用重写 require
实现包管理的.
默认下,已经 require
的话,返回值为 false. 此 false
不代表问题,仅表明加载成功但已经在之前加载过了。
@leomao10 good, 各种最佳实施,不过需要过墙了
@happypeter 我基本上都是自己瞎看的。这里有一个官方的资料,应该非常全面:https://developers.google.com/chrome-developer-tools/
支持你讲这个,我想内容可以包括,如何定位元素,查看修改样式,js 调试,最简单的性能调优。我自己就用这些。
浅色表示 等待时间
, 即发出请求后服务器开始响应时间,可以认为是 网络延迟
+ 服务器处理请求时间
.
深色表示 接收时间
, 即服务器响应到接收完毕数据的时间,可以认为是 整个网页的接收时间
#5 楼 @nuclearkitten @jjym 已经发现问题了,你在 t.wakeup
前面加上 sleep 2
试下。原因如 2 楼所示
你需要贴出来你的 Ruby
版本,用的什么环境。
直观从代码看,用法是没有问题的。
你想 puts
出 caller 的方法堆栈么?那为什么不用 puts
呢
这个问题有些意思,我大概分析了下加载 rails
的过程,在 Rails Project 下的 rails 是用来加载当前项目下的服务的,而 bin/rails
会加载 gems/railties-3.2.7
下的 application.rb 最终根据参数加载 server.rb generator.rb 等。。。
总结下输入 rails 后的动作:
bin/rails
exec
替换执行 script/rails
以下的不再执行,以提高速度。railties
下的 rails,它加载整个 rails 环境,比如 active_support, 设定模块常量。