• #3 楼 @douya0808 在页面里面按一下“M”,会跳出这个:

  • 先学用 markdown 排版,版式好看了,然后就有人有兴趣仔细阅读了,然后,解决方案就有了,呵呵。

  • #3 楼 @xds2000 有的人是真着急,也许来不及看文档,也许不明白怎么看文档,也许是看不懂英语.... 这里发一个新手帖,经常分分钟就被人回复了,虽然能直接从文档上找到答案的问题,大多数人不愿意回答。

    我经常发现有些新人会以你意想不到的速度快速成长,其中有些后来就成长为了一棵大树,所以我总是需要自我反省,一定要对新人 nice 一点,在 nice 一点,说不定以后就是你的朋友,同事,或者良师益友呢,谁知道呢?

  • #24 楼 @xds2000 这个问题太赞了,非常值得深思,研究并理解 AR 的 Scope 的设计理念。 我试着在没有深入研究的基础上,借花献佛用 José Valim 的话来回复你吧

    You can chain scopes, but they will be evaluated at the moment you call them. That said, when you call started, it will execute the lambda, so it will have a frozen Time.now. In other words, chaining lambda scopes will likely give you the wrong result.

    因为要 chain scopes,并 lazy evaluation,所以不能每次 dot 调用就立即执行并返回结果,所以借助 Proc 来封装一个计算的过程,直到最后需要的时候在执行,如果自行用self.method级联的话,每次方法调用都会求值一次,没有 Lazy evaluation 的性能优势。

    因为需要每次 dot 方法调用都返回 ActiveRecord::Relation 所以抽取这个模式成为通用模式,于是就变成了 named_scope,也就是后来的 scope 方法,用 scope 你不必自己管理方法的 return 结果。

    上面两个“因为”是我对 Scoped 和 Proc 的灵活性的理解,还请有过研究的高人指正,呵呵。

  • #39 楼 @upyun 过段时间在搞一次吧,有些错过的朋友貌似兴趣依然高涨啊。

  • #10 楼 @LeveyZhu 那么你查一下cap deploy到底跟你手动执行差在那里了?仔细查 log 应该能查出来,cap deploy 跟你手动输入一系列命令其实没有本质区别。

  • #7 楼 @LeveyZhu 看不出什么问题,而且你的 Nginx 配置非常规范且完整,怀疑是否是权限的原因。 还有你在主题帖中是否贴出了完整的 unicorn.rb ? 可否对比参考下 ruby-china 的 unicorn.rb

    另外如果你不通过 cap deploy,而是直接到 server 上,手动执行 kill -USR2 pid 也是一样的问题?

  • 大家外语能力如何? at March 30, 2012

    日本动漫我只能看带字幕的,不带字幕的我只能看懂爱情动作片。

  • #5 楼 @LeveyZhu 那么你的 Unicron 应该没有问题,502 是 Nginx 无法检测到后端的 Unicron 进程,不妨贴一下你的 Nginx 中的配置吧?

  • #21 楼 @IchiNiNiIchi 真不好意思,我已经把节点信息修改了。

    #20 楼 @jiffies Scope并不是一个新东西,在 Rails2 时代就引入了,的确用 class_method 就可以实现 scope 的方法,Scope 的好处是返回一个 ActiveRecord::Relation ,然后你可以在返回对象上继续执行其他的 scope 操作,类似 category.posts.published

    With these scopes, you can use every method previously covered such as where, joins and includes. All scope methods will return an ActiveRecord::Relation object which will allow for further methods (such as other scopes) to be called on it.
    
    
    
    

    这里的 scope 上用的 Proc,我觉得不应当作匿名函数来理解,而应该理解成 Procedure。

    Proc 用意是传入参数后,只有在调用 scope 的时候在调用的 context 中去对 Proc 进行求值 (eval),而不是在定义 Scope 的 context 下求值。因为 Scope 方法在定义后即被 Cache 了,所以任何传入的变量都需要通过 Proc 在调用时传入。

    如果是用普通方法去实现,的确不需要用 Proc,但是也失去了通过 Proc 获得的灵活性,这就是 Ruby 语言灵活性所在呀。

  • #2 楼 @huacnlee 啊,原来大家这么慷慨啊,我只捐了 $10 惭愧,掩面泪奔而过...

  • #2 楼 @poshboytl #3 楼 @doitian #6 楼 @nouse Emacs 里面我最感兴趣的是 Lisp,coding 我还是习惯了 Vim。

  • 摘自Pragmatic.Metaprogramming.Ruby,不过这里我也不确定到底“Meta”的中文“元”应该怎么解释。

    Metaprogramming is writing code that writes code.
    Metaprogramming is writing code that manipulates language constructs at runtime.
    
    
  • 大概但凡有能力的人,无论老幼,都被腾讯招聘去了吧? 这些年国内互联网市场和份额一块一块被腾讯蚕食,我虽然对腾讯无爱,但是我认为他们的实力确实强。

  • unicorn 你是怎么 restart 的? 这里是 ruby-china 的 deploy.rb

    我建议你自行到服务器上执行下面命令,然后通过 ps 查看进程是自动被重启。

    cd your/project/path
    
    ps aux | grep unicorn
    
    kill -USR2 `cat #{deploy_to}/current/tmp/pids/unicorn.pid`
    
    ps aux | grep unicorn
    
    

    注意观察前后 unicorn 的 unicorn master 的 pid 前后跟 tmp/unicorn.pid 是否一致。

  • #16 楼 @IchiNiNiIchi #15 楼 @kevinhua 到底看过文档了么?先看的文档还是先到这里来提问? 如果是先看过文档了,那么到底文档什么地方不明白? 或者是不知道文档在那里?

    如果你的问题中包含以上信息,我相信你不会被人说RTFM

  • @zw963 谢谢你这么辛苦翻译,你的每一篇文章我都必须收藏之~ emacs downloading....

  • #4 楼 @kevinhua 说实话,看了这句 "社区的作用就是帮人减少阅读文档的时间,如果都是看文档,哪还有社区的必要吗?" 感觉很心寒。

    #10 楼 @kevinhua 关键是一种态度,不回答没问题,但是对于回答你问题的人的这个态度,你是在鼓励大家以后都直接无视你的帖子嘛?

  • 好吧...

    class Class
      def name_to_sym
        self.to_s.downcase.to_sym
      end
    end
    
    class Foobar; end
    
    Foobar.name_to_sym
    
    

    ^_^

  • #1 楼 @cqpx 不鼓励为了参加活动而加班挤时间,鼓励说服你的老大,让你参加活动就是赚到了,而且很超值!如果不信的话,让他跟你一起来,只要他敢来,我就保证说服他!呵呵。

  • #8 楼 @ghosTM55 话说 GitCafe 能不能给大家作一次专题分享啊?然后现场把大家都转化成你们的用户(包括我)?

  • 日本女人的 Rubyist at March 29, 2012

    #16 楼 @xiaoeda 你好! 我是上海这边的社区组织者之一,我们非常希望能够邀请您参加我们的聚会。 时间是 4 月 10 日 晚上 7 点到 9 点 地点是 上海陆家嘴 具体活动信息在这里:http://ruby-china.org/topics/2256

  • 日本女人的 Rubyist at March 29, 2012

    #20 楼 @lihuazhang 这个一定!

  • each 的疑惑 at March 29, 2012

    #14 楼 @cqpx 恩,严格规定不建立新数组,而在原数组上裁剪的话,10 楼 @tassandar 的方法是对的。

  • 我认为 Rails 的实现思路跟 Java 有所不同,可能我作习惯了 Rails 的应用,就很难想象“采用多 Moduel 的方案,即几个子系统共用 model moudel 和 service moudel,分开几个 web moudel 来开发。部署的时候,打成几个不同的 war 包来部署”

    如果是我作类似的东西,我会考虑复用所有的 Model,但是不同的类型的用户在登陆后 redirect 到不同的路径下面,Controller 和 Views 可以分别开发,用不同的 controller 来对应不同的用户类型,不建议分开几个 project,这样复杂度和管理成本都太高,不利于快速开发。

  • each 的疑惑 at March 29, 2012

    #11 楼 @doitian 这都能被发现啊... 真让人感到 embarrassed

  • each 的疑惑 at March 29, 2012

    在不创建新的数组的情况下,我怎么觉得应该用 Array#select 呢?

    puts (1..100).to_a.select { |i| i % 3 == 0 }
    
    
  • 日本女人的 Rubyist at March 29, 2012

    @xiaoeda 欢迎,欢迎!

  • 看了这个帖子后,今年第一次去 iteye 看了一眼,呵呵。

  • 上大学那个时候,拥有一个罗技的光电鼠标对我来说还是非常奢侈的东西,我们晚上熄灯后寝室兄弟从应急灯上接电到宿舍,玩 Diabio II 天天晚上如此,一个月时间硬是把我的新鼠标给玩坏掉了,为此恨了他一个学期。