将rails分为逻辑对

时间:2016-06-15 20:59:11

标签: ruby-on-rails

我有一个可以属于相关模型的6个值的模型。在我看来,我想在一列中显示2个值,在另一列中显示两个,在最后一列中显示两个。

将这些记录分组以便于显示的最佳/最简单方法是什么。到目前为止我的想法:

  • 使用group_by,但我找不到任何体面的文档
  • 进行某种循环并将结果存储在临时数组中
  • 只需执行find.all并处理视图中的逻辑
  • 从关系中查询结果3次,每对一次

你的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

1)在您的模型中创建3个方法:column_1,column_2和column_3,如:

def column_1
  "#{association_1.field} #{association_2.field}"
end

2)在您的查询中,在belongs_to关联上添加include以使其运行得更快。

3)调用视图中的方法。

另一方面,通过模型方法(如链接等)显示复杂的东西可能有点难看,你可能不得不在帮助器而不是模型中编写这些方法。