Tag: 分类

Rails 3通过父关联排序

我在Rails 3中有一个相当直接的问题,我似乎无法找到答案: 说我有2个型号:客户,项目。 客户有很多项目项目属于客户 现在我想使用Active Record按“客户名称”对项目列表进行排序(使用ruby数组做这很容易,但我想一旦项目记录数量增加,这将会出现问题)。 我如何使用ActiveRecord进行此操作?

ActiveRecord按外部数组排序

我有一组id,存储在一些外部存储(rails cache或redis)中。 在控制器的操作中,我获取此数据并使用它选择对象,即 ids = [5, 1, 17, 84] # really fetched from external source result = MyModel.where(:id => ids) 我也希望它的顺序与array_of id中的id相同: ids == result.map(&:id) # => true 作为解决方法,我使用mysql FIELD函数排序: MyModel.where(:id => ids).order(“FIELD(id, #{ids.join ‘, ‘})”) 但我不喜欢这种方法,因为它是特定于mysql的,并且在大型数组的情况下会创建非常长的查询。 有没有更好的,与DB无关的方法呢? 从数据库获取未分类的数据并在ruby端进行排序是不可取的,因为它资源昂贵并且难以与分页一起使用。 谢谢。

将两个不同的ActiveRecord集合合并为一个

我想创建所有公司活动的视觉时间表。 时间轴的HTML是使用loop构建的。 为简单起见,我们假设有两种模式Hire & Deal 。 两个模型都具有date属性和一些模型特定属性。 如何合并两个模型的ActiveRecord结果,然后按date对组合的哈希进行order将其组合成一个我可以循环的哈希?

如何排序YAML文件?

我一直在尝试用Ruby对i18n翻译YAML文件进行排序,这样我就能以更好,更有条理的方式管理新翻译,但我一直想知道是否有什么可以轻松完成任务。 我找到了一个YAML文件编写器,所以我可以将哈希写入文件,但我的问题是正确地对哈希进行排序。 如果我得到哈希h , h.sort返回一个数组,我仍然没有想出一个简单的方法来做到这一点。 我有这样的YAML文件: pt-br: global: misc: total: “Total” all: “Todos” close: “Fechar” cancel: “Cancelar” crud: access: “Acessar” back: “Voltar” edit: “Editar” confirm: “Confirmar” send: “Enviar” … (文件大于此) 但我想用这种方式对它们进行排序: pt-br: global: crud: access: “Acessar” back: “Voltar” confirm: “Confirmar” edit: “Editar” send: “Enviar” misc: all: “Todos” cancel: “Cancelar” close: “Fechar” total: “Total” 我认为一些简单的递归方法可以帮助我这样: def […]

有没有办法排序,以便“维生素B12”不在“维生素B6”的前面?

在Ruby on Rails中,默认的排序顺序是 Vitamin A Vitamin B12 Vitamin B6 是否有机制或快速方式,以便它按自然语言方式排序,以便B6在B12之前显示?