• 希望能够整理成文字或者视频分享出来,这样让更多没有办法到现场的人能够受益

  • 阅读 God 源码心得 at October 19, 2015

    #4 楼 @hemengzhi88 很偶然的机会,开始上课思客的课程,然后我说我来实习,然后就 ok 了。

  • 阅读 God 源码心得 at October 19, 2015

    #3 楼 @hw676018683 我这个代码读的比较细,所以能写的东西多。你去试试也一样的

  • 阅读 God 源码心得 at October 19, 2015

    #1 楼 @markgeek 谢谢。其实我这里扩展并没有太大的作用,只是为了扩展而扩展而已

  • #9 楼 @huacnlee #10 楼 @lyfi2003 #11 楼 @libuchao 文档看到了,原来不是原子操作。谢谢

  • #5 楼 @huacnlee 并发会出问题吗?有相关链接能发给我看一下吗?

  • #2 楼 @lyfi2003 这个也不是我所需要的,我要保证的时在一个 A 的 record(例如 a),他所关联的所有 C 的 record 的 name 属性是唯一的。这个只能保证一个 b 所关联的 c 的所有 name 属性的值是唯一的。 也就是下面这种代码的效果。如果采用你的这种验证方式的话,下面的代码是能够通过的

    a = A.create
       b1 = B.create
       b2 = B.create
       a.bs << b1
       a.bs << b2
       b1.cs << C.create(name: "test")  #通过
       b2.cs << C.create(name: "test")  #Error
    
  • #3 楼 @huopo125 已经修正了:)

  • 虽然没有没回复我,不过还是感谢大家。我已经自己把问题解决了。 我在 stackoverflow 上找到一个类似的问题http://stackoverflow.com/questions/8520655/undefined-webrat-methods-in-cucumber/8527309#8527309 首先是说 cucumber 不支持 webrat 了,转而支持 capybara(可以在 bundle install 时看到会自动 install capybara 这个 gem),所以 contain 这个方法不能使用。要使用 capybara 的 have_content 这个方法。 另外 response 这个变量表示的也不是返回的页面,当我使用

    expect(response).to have_content("xx")
    

    这个方法时,response 返回的是空字符。 通过查看 capybara 的文档,获取页面使用的是 page 这个变量,这个变量的类型是 Capybara::Session 类型。 由于使用 response 时,里面是空字符,没有任何内容,也就不会是用来获得 response header 中内容的变量,所以我猜想这里的 response 只是一个 ruby 的局部变量,没有任何意义。

    再说一下这里为什么不能 include。这是因为 Capybara::Session 没有提供 include 这个方法。

  • 没有人回答我吗?是描述不够清楚?还是啥。。。

  • 觉得楼主第一个递归算法有点问题。二分查找应该有两个出口,一个是查找成功,这个出口再楼主代码中已经出现了。第二个出口是没有查找的数据,这个出口楼主没有。因为楼主代码中另一个出口是通过 array.blank?条件判断的。问题是递归过程中 array 没有变化啊。变化的只有 from 和 to。所以楼主要实现第二个出口,应该要判断 from 和 to 的关系。楼主试试 array 中没有的数据测试试试。应该有 bug