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
    
  • .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'
    
  • <%= 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 -%>
    
IDTitlePriorityStatus Project NameCustomerAssigned To
421-440 / 449 Alle rijen tonen
294fugiat evenietNormalVerifiedUltimate WebsiteMNUDirk MichaelsEdit
305dolorem harumHighVerifiedSuper GameMNUChristopher JohnsonEdit
306omnis voluptatem abAnecdoticVerifiedDivine FirmwareSkyNetFundiswa Mhlanga and Sarah LivingstoneEdit
318beataeVerifiedDivine FirmwareSkyNetDirk MichaelsEdit
323doloribusUrgentVerifiedDivine FirmwareSkyNetDirk MichaelsEdit
327inventoreUrgentVerifiedDivine FirmwareSkyNetKoobus Venter and Dirk MichaelsEdit
328earumUrgentVerifiedUltimate WebsiteMNUGrey Bradnam, Wikus van de Merwe, and Dirk MichaelsEdit
332autem etVerifiedSuper GameMNUFundiswa Mhlanga and Piet SmitEdit
335maximeLowVerifiedDivine FirmwareSkyNetDirk MichaelsEdit
336aut quis aspernaturLowVerifiedSuper GameMNUFundiswa Mhlanga and Piet SmitEdit
339quia doloremqueHighVerifiedDivine FirmwareSkyNetKoobus Venter and Dirk MichaelsEdit
348inventore sedVerifiedSuper GameMNUPiet Smit and Fundiswa MhlangaEdit
373commodiVerifiedSuper GameMNUPiet SmitEdit
403et praesentium temporeUrgentVerifiedUltimate WebsiteMNUObesandjo and Dirk MichaelsEdit
407similique voluptatumVerifiedUltimate WebsiteMNUDirk MichaelsEdit
417provident eumHighVerifiedSuper GameMNUPiet SmitEdit
376assumendaVerifiedSuper GameMNUEdit
309architecto esse autLowVerifiedUltimate WebsiteMNUEdit
369reprehenderit rerumLowVerifiedSuper GameMNUEdit
360similique estLowVerifiedDivine FirmwareSkyNetEdit

Fork me on GitHub