Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
Cantin
@cantin
VIP
NO. 353 / 2011-12-01

广州
3 Topics / 213 Replies
1 Followers
0 Following
3 Favorites
GitHub Public Repos
  • dotfiles 2

  • mtouch 2

  • cantin.github.com 1

    cantin's blog

  • cap_deployer 1

    cap deploy helper

  • d-render.js 1

    A lightweight hotwired-compatible lib with directive programming in HTML

  • merit 1

    Reputation system Rails engine.

  • floatThead 1

    Fixed table headers, without custom html/css

  • shu 1

    something just for practice

  • vim-closer 0

    Closes brackets

  • animegan2-pytorch 0

    PyTorch implementation of AnimeGANv2

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • [rspec] controller spec 的一个 example 里前后两个 request, 后者使用了前者的 params at February 03, 2013

    #3 楼 @snowhs 这一种是 request/integration 的时候测的吧,controller test 跟 unit test 一样,都是特定的上下文环境,这样才可以排除其他因素的影响,确保一个 action/method 的正确。

  • 苹果中国官网推出免息分期付款计划 at January 14, 2013

    点了立即购买居然跳回这个帖子。。。。。

  • ActiveRecord 得 find 有缓存嘛? at December 14, 2012

    #8 楼 @kaka mongoid 中的 id 是 Moped::BSON::ObjectId,也就是个 object,你要用 current_user.id 来查询的话,要

    User.where(_id: current_user.id)
    

    另外 key 为 id,value 就是 String.

  • ActiveRecord 得 find 有缓存嘛? at December 14, 2012

    应该是 where(_id: id) 吧?

  • 希望为每个 controller 都增加一个 export action at December 14, 2012
    match '/:controller/export'
    
  • save 总是保存不上 大家帮看一下代码 (结帖) at November 23, 2012

    save!没报异常?likeable 是 store 存的吗?

  • save 总是保存不上 大家帮看一下代码 (结帖) at November 23, 2012

    用 save!试试

  • 诡异的错误,删除了 action 所有代码还是有这个错误。 at November 23, 2012

    没搞过 cancan 很久了,印象中它是默认你是试用 restful 的 route,所以它会自己去拿 params[:id] 去找的好像。下面是 cancan 的源代码,你去掉 cancan 试试看?

    def find_resource
      if @options[:singleton] && parent_resource.respond_to?(name)
        parent_resource.send(name)
      else
        if @options[:find_by]
          if resource_base.respond_to? "find_by_#{@options[:find_by]}!"
            resource_base.send("find_by_#{@options[:find_by]}!", id_param)
          else
            resource_base.send(@options[:find_by], id_param)
          end
        else
          adapter.find(resource_base, id_param)
        end
      end
    end
    
  • Ruby 如何判断一个数组中是否有重复元素? at November 22, 2012

    #19 楼 @zw963 enumerator 没有 uniq!方法

    另外 #3 楼 @ashchan 试了一下你的方法,速度真的不错 我自己也用 sort 方法试了一下,不过有时快有时慢,速度不是很稳定,有谁知道原因吗?

    require 'benchmark'
    module DuplicationChecker
      def uniq?
        set = Hash.new
        each do |e|
          return false if set[e]
          set[e] = e
        end
        set.size < size
      end
    end
    
    Array.class_eval do
      include DuplicationChecker
    end
    
    arr = 100000.times.inject([]) do |arr, i|
      arr << rand(100000000000000000)
    end
    arr << arr[-1]
    
    Benchmark.bm do |x|
      x.report('uniq') do
        puts arr.size > arr.uniq.size
      end
    
      x.report('sort') do
        arr.sort do |a, b|
          eql = (a <=> b)
    
          if eql == 0
            puts a
            break
          end
    
          eql
        end
      end
    
      x.report('uniq?') do
        puts arr.uniq?
      end
    
      x.report('dup') do
        puts arr.size > arr.dup.uniq!.size
      end
    end
    
    68-a8-6d-43-46-cc:ruby can$ ruby benchmark.rb 
           user     system      total        real
    uniqtrue
      0.080000   0.000000   0.080000 (  0.080204)
    sort88757701264796045
      0.040000   0.000000   0.040000 (  0.044535)
    uniq?false
      0.090000   0.000000   0.090000 (  0.092339)
    duptrue
      0.100000   0.010000   0.110000 (  0.103186)
    
  • 诡异的错误,删除了 action 所有代码还是有这个错误。 at November 22, 2012

    lib/cancan/controller_resource.rb:114:in `find_resource' 可能是 cancan。

  • 诡异的错误,删除了 action 所有代码还是有这个错误。 at November 22, 2012

    Application Trace 报的是什么信息?

  • 请教 hash 比较方法 at November 22, 2012
    1.9.3-p286 :004 > a = {'a' => 1, 'b' => 2 }
     => {"a"=>1, "b"=>2} 
    1.9.3-p286 :005 > b = {'a' => 1, 'b' => 2 }
     => {"a"=>1, "b"=>2} 
    1.9.3-p286 :006 > a == b
     => true 
    
  • 诡异的错误,删除了 action 所有代码还是有这个错误。 at November 22, 2012

    /topics/node1?不是/topics/node/1 吧,看一下你的 route 是否正确,可能需要调整一下顺序。

  • 单个页面才需要的 js 你们一般怎么安排? at November 22, 2012

    #10 楼 @ywencn js 虽说速度是慢了点,不过简单判断一万次都用不了一秒。 我也是比较喜欢 function 跟调用 function 的分开,这样感觉 rails 既可以整合在一个文件里面,另外调用 function 在同个 js 文件中,只需要加上简单的注释,就可以知道这个界面调用到那些函数,debug 起来也是比较方便。

  • vim 粘帖时候的麻烦 at November 15, 2012

    进入 paste mode

  • [已解决] 在 rails 里用 jquery 的插件的 bug at September 29, 2012

    自己写的单独的 demo 可以成功吗?我看它 demo 上的 jquery 是 1.2.3 的。。。。

  • [已解决] 在 rails 里用 jquery 的插件的 bug at September 28, 2012

    试一下不使用 coffee,另外 coffee 的 hash 写法可以更简便一些,你可以看一下。 如果还有问题,可能是加载顺序,检查一下页面上 js 的加载顺序。

  • [已解决] 在 rails 里用 jquery 的插件的 bug at September 28, 2012

    $("#slider") 找的到元素吗?

  • 打印数字金字塔 at September 22, 2012
    def pyramid(n)
      prefix = []
    
      1.upto(n) do |i|
        puts [prefix, i, prefix.reverse].flatten.join.center( 2 * n - 1)
        prefix.push(i)
      end
    end
    
    def pyramid(n)
      prefix = ''
    
      1.upto(n) do |i|
        puts (prefix + i.to_s + prefix.reverse).center(2 * n - 1)
        prefix[i-1] = i.to_s
      end
    end
    

    应该算是另一种思路的吧

  • 打印数字金字塔 at September 22, 2012
    def pyramid(n)
      1.upto(n) do |i| 
        puts ((1..i).to_a + (1...i).to_a.reverse).join.center(n * 2 - 1)
      end 
    end
    
  • [已解决] git rm 出错 怀疑是中文文件名的原因 at September 21, 2012

    :) 你们第一个见到的人就是我 哈哈

  • [已解决] git rm 出错 怀疑是中文文件名的原因 at September 21, 2012

    是啊,前些天你有过来 ruby party?你是大三的?

  • [已解决] git rm 出错 怀疑是中文文件名的原因 at September 21, 2012

    #3 楼 @Tony612 是滴,你也在广州?

  • [已解决] git rm 出错 怀疑是中文文件名的原因 at September 21, 2012

    这个需要在 git config 里面设置一个属性,google 一下 git 中文

  • 有什么方法能够使 Hash 支持上范围? at September 07, 2012
    class Hash
      alias :with :[]
    
      def [](key)
        value = with key
    
        if value.nil?
          with(keys.find { |k| k.respond_to?(:include?) && k.include?(key) })
        end
      end
    end
    
    hash = {(1..5) => "One To Five", (6..10) => "Six To Ten"}
    
    puts hash[3.222]
    puts hash[9.99]
    

    重新试了一下,应该可以

  • 有什么方法能够使 Hash 支持上范围? at September 07, 2012
    
    class Hash
      def with(key)
        value = self[key]
    
        self[keys.find { |k| k.respond_to?(:include?) && k.include?(key) }] if value.nil?
      end 
    end
    
    hash = {(1..5) => "One To Five", (6..10) => "Six To Ten"}
    
    puts hash.with(4.1123)
    
    

    我重写不了 Hash 的 [ ] 方法,不知道你们是不是可以重写?

  • NameError: uninitialized constant at September 06, 2012

    不是,应该是哪里写错了,全局搜索 specifications 这个词看看

  • NameError: uninitialized constant at September 05, 2012

    你的程序哪里调用到 Specifications 这个类了,找找看是不是写错了

  • 一个很容易中招的地方 at August 24, 2012

    if 后面的条件最好不是赋值语句,会有

    warning: found = in conditional, should be ==
    
  • 做个小调查,读过 Rails 源码的举一下手。 at August 15, 2012

    看到 42 我就想起生命、宇宙以及任何事情的终极答案

  • Prev
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English