阵列红宝石在轨道上
问题描述:
当在页面的左侧执行商店搜索和分页结果(每页10个)时,我需要显示在所有商店中工作的员工列表(无重复项)当前显示。阵列红宝石在轨道上
在我有以下的,但它不觉得自己是最有效的视图,它显示了重复的员工
- @shops.each do |shop|
- shop.employees.each do |employee|
%li = link_to "#{employee.name}", employee_path(employee)
答
@shops.map(&:employees).flatten.uniq.each do |employee| %li = link_to "#{employee.name}", employee_path(employee) end
答
uniq
?
- @shops.each do |shop|
- shop.employees.uniq.each do |employee|
%li = link_to "#{employee.name}", employee_path(employee)
答
这种类型的查询应在DB,而不是在内存中完成。
class Shop
has_many :employees
end
class Employee
belongs_to :shop
end
检索的商店给定集合员工在你的控制器:
@employees = Employee.all_by_shop_id(@shops, :order => :name)
在你看来
现在:
[email protected] do |employee|
%li = link_to "#{employee.name}", employee_path(employee)
谢谢!还有一个问题,我如何按员工姓名的字母顺序排列? – noddy 2010-11-09 09:08:39
只是用'uniq.sort_by(&:name)替换'uniq.' .' – DNNX 2010-11-09 09:10:45