• 体会都是创业过的人才能写出来的。

  • 如果你 user 不多。就 simple_form,如果多了就考虑换个 select2 或者 chosen

  • @xdite 建议加上 controller 里面基于权限进入不同的 view,因为 view 里面有 if-else 很大一部分原因是因为要在一个页面里面根据角色显示不同部分的内容。

  • def flatten(arrys)
      if arrys.length == 1
        arrys[0].map{|v| [v]}
      else
        ret = arrys[0].inject([]) do |memo, val|
          flatten(arrys[1..-1]).each do |c|
            memo << c.insert(0, val)
          end
          memo
        end
        ret
      end
    end
    
    ret = [[2,3],[4,5],[8,9,10]].permutation.inject([]) do |memo, ps|
      memo += flatten(ps)
      memo
    end
    
    ret.each do |r|
      puts r.to_s
    end
    

    结果是

    [2, 4, 8]
    [2, 4, 9]
    [2, 4, 10]
    [2, 5, 8]
    [2, 5, 9]
    [2, 5, 10]
    [3, 4, 8]
    [3, 4, 9]
    [3, 4, 10]
    [3, 5, 8]
    [3, 5, 9]
    [3, 5, 10]
    [2, 8, 4]
    [2, 8, 5]
    [2, 9, 4]
    [2, 9, 5]
    [2, 10, 4]
    [2, 10, 5]
    [3, 8, 4]
    [3, 8, 5]
    [3, 9, 4]
    [3, 9, 5]
    [3, 10, 4]
    [3, 10, 5]
    [4, 2, 8]
    [4, 2, 9]
    [4, 2, 10]
    [4, 3, 8]
    [4, 3, 9]
    [4, 3, 10]
    [5, 2, 8]
    [5, 2, 9]
    [5, 2, 10]
    [5, 3, 8]
    [5, 3, 9]
    [5, 3, 10]
    [4, 8, 2]
    [4, 8, 3]
    [4, 9, 2]
    [4, 9, 3]
    [4, 10, 2]
    [4, 10, 3]
    [5, 8, 2]
    [5, 8, 3]
    [5, 9, 2]
    [5, 9, 3]
    [5, 10, 2]
    [5, 10, 3]
    [8, 2, 4]
    [8, 2, 5]
    [8, 3, 4]
    [8, 3, 5]
    [9, 2, 4]
    [9, 2, 5]
    [9, 3, 4]
    [9, 3, 5]
    [10, 2, 4]
    [10, 2, 5]
    [10, 3, 4]
    [10, 3, 5]
    [8, 4, 2]
    [8, 4, 3]
    [8, 5, 2]
    [8, 5, 3]
    [9, 4, 2]
    [9, 4, 3]
    [9, 5, 2]
    [9, 5, 3]
    [10, 4, 2]
    [10, 4, 3]
    [10, 5, 2]
    [10, 5, 3]
    

    如果你不需要数组的数组本身的全排列则去掉 permutation 那一步。

  • Solr 报错 at 2013年10月28日

    是不是这句啊?

    Error: {'responseHeader'=>{'status'=>400,'QTime'=>1},'error'=>{'msg'=>'undefined field type','code'=>400}}
    

    检查一下 solr 那边的 schema

  • @Levan 貌似 follower 是通过中间表实现自关联,楼主的需求貌似是需要 user 需要有两个 has_many topics,但不知道怎么实现。看看 has_many 的文档就好,可以用不同的名字,然后指定目标类,不要依赖 rails 自己的 coc 就好

  • 点名时间做了这么长时间都还不瘟不火的,不知道楼主为什么要选择这个方向。

  • 一份 Ruby 面试题 at 2013年08月16日

    基本不会,不明觉厉。