當在頁面的左側執行商店搜索和分頁結果(每頁10個)時,我需要顯示在所有商店中工作的員工列表(無重複項)當前顯示。陣列紅寶石在軌道上
在我有以下的,但它不覺得自己是最有效的視圖,它顯示了重複的員工
- @shops.each do |shop|
- shop.employees.each do |employee|
%li = link_to "#{employee.name}", employee_path(employee)
當在頁面的左側執行商店搜索和分頁結果(每頁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