草庐IT

xml - XSL 递归排序

全部标签

ruby-on-rails - 如何使用 ActiveRecord 按书籍数量对作者进行排序?

假设我有Book模型和Author模型。我想列出所有按书数排序的作者。最好的方法是什么?我知道如何在SQL中执行此操作,方法是使用嵌套选择或某些连接执行where..in。但我想知道的是如何使用ActiveRecord很好地做到这一点。 最佳答案 正如Kevin所建议的,counter_cache是最简单的选项,我绝对会使用它。classAuthortrueendclassBook如果您使用的是Rails2.3,并且您希望这是默认顺序,您可以使用新的default_scope方法:classAuthortruedefault_sco

ruby - 在 ruby​​ 中对数组进行排序的最简单代码?

我通常会做类似的事情array.sort{|a,b|a.somethingb.something}我应该如何干燥它? 最佳答案 使用排序方式array.sort_by{|e|e.something或sort_lambda=lambda{|e|e.something}array.sort_by(&sort_lambda)使用后者,您可以在其他sort_by语句中重用sort_lambda 关于ruby-在ruby​​中对数组进行排序的最简单代码?,我们在StackOverflow上找到一个

ruby - Geohashing - 递归地找到邻居的邻居

我现在正在寻找一种优雅的算法,使用地理散列算法(http://www.geohash.org)递归查找邻居的邻居。基本上采用中央geohash,然后在其周围获得相同大小的散列的第一个“环”(8个元素),然后在下一步中,在第一个周围获得下一个环等。您听说过这样做的优雅方式吗?蛮力可能是拿走每个邻居并让他们的邻居简单地忽略大量重叠。围绕一个中央geohash的邻居已经解决了很多次(这里例如在Ruby中:http://github.com/masuidrive/pr_geohash/blob/master/lib/pr_geohash.rb)编辑澄清:当前的解决方案,通过一个中心键和一个方向

ruby-on-rails - Rails 递归 View 与对象关联的奇怪行为

我有一个与自身关联的评论表以供回复。基本上,具有parent_id的评论也是对其父评论的回复。为了呈现这个,我使用了一个递归View,它在过去非常简单,但不适用于rails3.2.0和ruby​​2.1.1这里是简化的代码:;"/_redesign/entry/comment",:collection=>x,:as=>:comment%>输出是:349223;CommentArray349229;CommentComment在第二次迭代中,comment.replies是一个评论,而不是一个数组,并且所有内容都从那里落下。但是,如果我更改第一行并添加重新加载:全部开始工作,输出为:34

ruby-on-rails - 如何在递归方法中使用预加载集合

我有以下自指关联:classAction我的问题是should_finish和should_start正在互相调用,即使我预加载了父级,它仍然会导致许多查询:Action.includes(:parents).last.should_finish#anewqueryeverytimeitchecksforparents关于如何缓存actions和parents有什么想法吗?编辑-让我提供一些背景信息:#actionstable:actions_parentstable:#id|durationtask_id|parent_id#1|52|1#2|103|1#3|204|2#4|154|

ruby - 如何在 ruby​​ 模板中输出排序哈希

我正在为我们的一个内联应用构建一个配置文件。它本质上是一个json文件。我在让puppet/ruby1.8每次都以相同的方式输出哈希/json时遇到了很多麻烦。我正在使用但是在输出人类可读的内容时,它并不能保证每次都是相同的顺序。这意味着Puppet会经常针对相同的数据发送更改通知。我也试过每次都会生成相同的数据/订单。当数据具有嵌套数组时就会出现问题。data=>{beanstalkd=>["server1",]}成为"beanstalkd":"server1",代替"beanstalkd":["server1"],我断断续续与这个问题斗争了几天,所以需要一些帮助

ruby - 递归获取目录的大小

是否有一个很好的gem来获取递归计算的目录大小?在unix中,我可以使用du,但我想要一个吸收操作系统差异的库。 最佳答案 这似乎可行:Dir.glob(File.join(dir,'**','*')).map{|f|File.size(f)}.inject(:+) 关于ruby-递归获取目录的大小,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9354595/

ruby - Ruby 中已排序元素的原始索引

arr=[1,3,2,4]arr.sort#=>[1,2,3,4]我想要一个数组[0,2,1,3](原始索引按arr.sort顺序排列)在Ruby1.9.3中有没有一种简单的方法可以做到这一点?谢谢 最佳答案 xs=[1,3,2,4]original_indexes=xs.map.with_index.sort.map(&:last)#=>[0,2,1,3] 关于ruby-Ruby中已排序元素的原始索引,我们在StackOverflow上找到一个类似的问题:

ruby - 按两个值对数组进行排序

假设我有an_array=[[2,3],[1,4],[1,3],[2,1],[1,2]]我想按每个内部数组的第一个值对这个数组进行排序,然后按第二个值排序(因此排序后的数组应如下所示:[[1,2],[1,3],[1,4],[2,1],[2,3]])执行此操作最易读的方法是什么? 最佳答案 这是排序数组的默认行为(参见Array#方法定义以获取证明)。你应该能够做到:an_array.sort 关于ruby-按两个值对数组进行排序,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 来自 cucumber 的 HTTP POST XML 内容

我正在尝试通过POST将XML内容发送到一个简单的Rails项目中的Controller(“解析”)方法(“索引”)。它不是RESTful,因为我的模型名称不同,比如“汽车”。我在有效的功能测试中有以下内容:deftest_index...data_file_path=File.dirname(__FILE__)+'/../../app/views/layouts/index.xml.erb'message=ERB.new(File.read(data_file_path))xml_result=message.result(binding)doc=REXML::Document.ne