2016-10-21 2 views
0

Я использую этот код для отображения содержимого -удалить повторяющиеся значения (название проекта)

- @tasks.each do |task| 
     %ul 
     %li= task.project.name 
     %ul 
      %li= task.name 

, который дает результат что-то вроде этого -

  • Project1
    • TASK1
  • Проект1
    • Task2

Но я хочу, чтобы результат представления, чтобы быть похожим -

  • Проект1
    • TASK1
    • Task2

ответ

2

Использование группы по

- @tasks.group_by(&:project_id).each do |project_id, tasks| 
    %ul 
    %li= tasks.first.project.name # or Project.find(project_id).name 
    - tasks.each do |task| 
     %ul 
     %li= task.name 
+0

он показывает мне эту ошибку - неопределенный метод 'group_by» для ноль: NilClass –

+1

, что означает '@ tasks' является' nil' –

+0

разместить свой код контроллера –

Смежные вопросы