体会都是创业过的人才能写出来的。
如果你 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 那一步。
是不是这句啊?
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 就好
点名时间做了这么长时间都还不瘟不火的,不知道楼主为什么要选择这个方向。
基本不会,不明觉厉。