WiceGrid 3.6.0.pre4 examples

Joined tables

Use :include in :initialize_grid to include associated tables. :include can be a single association name, an array of association names. If you need to join tables to joined tabes, use hashes, for example: include: [:priority, :status, {project: :customer}]

To define a column from a joined table, use :assoc to specify a the corresponding association. If you need to join a table to a joined table, list associations in an array on the correct order (look at the customer column).

You can drop a block if you don't need any special markup.

  • # encoding: utf-8
    class JoiningTablesController < ApplicationController
      def index
        @tasks_grid = initialize_grid(Task,
          # You can omit includes if they are all mentioned in :assoc in the view
          # includes: [:priority, :status, {project: :customer}],
          conditions: { archived: false },
          order: 'id'
        )
      end
    end
    
  • <%= grid(@tasks_grid, show_filters: :always) do |g|
    
      g.column name:  'ID', attribute: 'id', filter: false
    
      g.column name:  'Title', attribute: 'title'
    
      g.column name:  'Priority', attribute: 'name',  assoc: :priority
    
      g.column name:  'Status', attribute: 'name', assoc: :status
    
      g.column name:  'Project Name', attribute: 'name', assoc: :project
    
      g.column name:  'Customer', attribute: 'name', assoc: [:project, :customer]
    
    
      g.column name:  'Assigned To', attribute: 'name', assoc: :assigned_users do |task|
        task.assigned_users.collect{|user| user.name}.to_sentence
      end
    
      g.column   do |task|
        link_to('Edit', edit_task_path(task))
      end
    end -%>
    
  • .well
      %h2= current_page_title
      %p
        Use
        %code :include
        in
        %code :initialize_grid
        to include associated tables.
        %code :include
        can be a single association name, an array of association names.
        If you need to join tables to joined tabes, use hashes, for example:
        %code include: [:priority, :status, {project: :customer}]
    
      %p
        To define a column from a joined table, use
        %code :assoc
        to specify a the corresponding association.
        If you need to join a table to a joined table,
        list associations in an array on the correct order
        (look at the customer column).
      %p
        You can drop a block if you don't need any special markup.
    
    = show_code
    
    = render   'grid'
    
IDTitlePriorityStatusProject Name CustomerAssigned To
41-60 / 449 Sýna allt
112neque quiUrgentPostponedDivine FirmwareSkyNetKoobus VenterEdit
113exercitationemClosedDivine FirmwareSkyNetGrey BradnamEdit
114dolores liberoDuplicateDivine FirmwareSkyNetKoobus VenterEdit
115sit et estHighPostponedDivine FirmwareSkyNetGrey Bradnam, Koobus Venter, and Sarah LivingstoneEdit
126qui voluptatum atqueNewDivine FirmwareSkyNetGrey Bradnam, Koobus Venter, and Dirk MichaelsEdit
127doloribus utAssignedDivine FirmwareSkyNetDirk Michaels and Koobus VenterEdit
131iure autem ametNormalStartedDivine FirmwareSkyNetDirk Michaels and Sarah LivingstoneEdit
136exercitationem distinctio quiCancelledDivine FirmwareSkyNetKoobus VenterEdit
151ullam labore architectoHighNewDivine FirmwareSkyNetFundiswa Mhlanga, Dirk Michaels, and Sarah LivingstoneEdit
154nostrumAnecdoticDuplicateDivine FirmwareSkyNetKoobus Venter and Grey BradnamEdit
160aut voluptatesLowDuplicateDivine FirmwareSkyNetKoobus VenterEdit
163ipsa quoClosedDivine FirmwareSkyNetKoobus VenterEdit
164beatae consecteturNormalVerifiedDivine FirmwareSkyNetKoobus Venter and Sarah LivingstoneEdit
172nihil ipsamHighPostponedDivine FirmwareSkyNetKoobus VenterEdit
174ipsa quia voluptasAnecdoticPostponedDivine FirmwareSkyNetKoobus Venter, Sarah Livingstone, and Dirk MichaelsEdit
180cupiditate tenetur omnisCancelledDivine FirmwareSkyNetSarah Livingstone and Koobus VenterEdit
120esse voluptas deseruntVerifiedDivine FirmwareSkyNetEdit
139aliquid oditLowDuplicateDivine FirmwareSkyNetEdit
123suscipit sunt deseruntLowVerifiedDivine FirmwareSkyNetEdit
179omnis et facilisLowAssignedDivine FirmwareSkyNetEdit

Fork me on GitHub