• has_many :line_items, :dependent => destroy

    destroy加冒号

    has_many :line_items, :dependent => :destroy

  • 函数名容易与变量名冲突 at 2016年12月27日

    方法名用动词,变量名用名词

  • Ruby is Not Even Funny at 2016年12月12日

    这个是网站黑某样东西的段子合集吧,连观点都算不上,怎么谈合理? 看Groovy章节笑啦

    This file says it all.

  • #5楼 @breeze 你Class.new一个A.singleton_class看看

  • 理解“类”也是一个对象是关键

    class A; end
    等价于
    A = Class.new # 看到了么?创建一个“类”跟创建一个对象 ( a = A.new ) 是一样的
    
  • 我也想过类似的问题:

    • 是不是好的东西就能流行?不一定
    • 是不是我喜欢的东西就是好的东西?不一定
    • 我会不会花时间精力在一个不一定会流行但是我喜欢的东西上?会
  • Fixtures 是段子频发区

  • #4楼 @chenge Erlang里不可能修改x的值 你所谓修改x的值,是指修改x的state,函数编程的特点就是没有state。

    比如面向对象编程的话,多次调用person.talk方法,结果会根据person的state改变;函数是编程不存在state,调用一个方法,参数相同,结果永远相同(除非生成随机数这类的特例)这也是所谓的no side-effects,总之不要带着用面向对象编程既定的思路来看函数式编程。

  • Elixir里的等号不是赋值,是pattern match,programming elixir里讲等号那章的标题就是

    Assignment: I Do Not Think It Means What You Think It Means.”

    一句话讲不明白,建议自己看看

    Immutable在Erlang里面比较明显

    1> X = 1.
    1
    2> X = 2.
    ** exception error: no match of right hand side value 2
    

    就是一个“变量”不能被重复赋值,Elixir变量可以重复赋值,但是底层是做了一点小封装吧。

  • 我很乐意承认Rails可能会存在一些问题,不过这个作者的论点有点断章取义了

    比如DRY

    因为 DRY = Abstraction
    并且 Duplication > Wrong Abstraction
    所以 Duplication > DRY
    

    丝毫不考虑Right Abstraction的情况

    再说KISS 他说的一大堆如果建立在Rails经常出现莫名其妙不可调试的错误,且Rails core team水平不高的情况下,不过我认为这不符合现实。

    再看这个网站的首页slogan

    The goal of this project is to help developers stop suffering while they are working with Ruby on Rails

    如果把他的反对Rails的地方都去掉然后再来用Rails,嗯,大家可以想象一下。