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 -%>
    
ID TitlePriorityStatusProject NameCustomerAssigned To
1-20 / 449 show all
499voluptatemUrgentResolvedDivine FirmwareSkyNetFundiswa Mhlanga, Koobus Venter, and Sarah LivingstoneEdit
497impedit quoNewSuper GameMNUFundiswa Mhlanga, Piet Smit, and Wikus van de MerweEdit
495qui ut inAnecdoticVerifiedUltimate WebsiteMNUTania van de MerweEdit
494fugiat quaeratDuplicateUltimate WebsiteMNUTania van de MerweEdit
493estVerifiedDivine FirmwareSkyNetSarah Livingstone and Dirk MichaelsEdit
492sed atStartedSuper GameMNUChristopher JohnsonEdit
491modi nesciuntStartedSuper GameMNUPiet SmitEdit
490maximeClosedUltimate WebsiteMNUGrey Bradnam, Ross Pienaar, and Dirk MichaelsEdit
489voluptatemHighDuplicateSuper GameMNUFundiswa Mhlanga and Piet SmitEdit
488doloribus veritatisHighClosedUltimate WebsiteMNUEdit
487natus etLowNewUltimate WebsiteMNURoss Pienaar, Sarah Livingstone, and Tania van de MerweEdit
486enim harum minimaAnecdoticResolvedSuper GameMNUPiet SmitEdit
485ut teneturAnecdoticDuplicateSuper GameMNUPiet SmitEdit
484quiaAnecdoticResolvedDivine FirmwareSkyNetKoobus VenterEdit
483laborum dictaLowVerifiedSuper GameMNUChristopher Johnson and Piet SmitEdit
482consequuntur eumUrgentDuplicateSuper GameMNUChristopher Johnson, Piet Smit, and Fundiswa MhlangaEdit
481etUrgentClosedUltimate WebsiteMNUObesandjoEdit
480quas sapiente rerumAnecdoticPostponedUltimate WebsiteMNUTania van de Merwe and Wikus van de MerweEdit
479provident exUrgentVerifiedSuper GameMNUFundiswa MhlangaEdit
478necessitatibusAnecdoticCancelledDivine FirmwareSkyNetGrey Bradnam and Sarah LivingstoneEdit

Fork me on GitHub