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
21-40 / 449 show all
187quodLowAssignedDivine FirmwareSkyNetSarah Livingstone and Koobus VenterEdit
188aliquid adipisciAssignedUltimate WebsiteMNUObesandjoEdit
194quoUrgentAssignedUltimate WebsiteMNUDirk Michaels and ObesandjoEdit
205velAnecdoticAssignedUltimate WebsiteMNUTania van de MerweEdit
232eos quam doloremLowAssignedUltimate WebsiteMNURoss Pienaar, Dirk Michaels, and Tania van de MerweEdit
235sunt ametAssignedUltimate WebsiteMNUFundiswa MhlangaEdit
245iure utNormalAssignedDivine FirmwareSkyNetSarah Livingstone, Grey Bradnam, and Koobus VenterEdit
256saepeAnecdoticAssignedDivine FirmwareSkyNetKoobus Venter and Dirk MichaelsEdit
270modi minusNormalAssignedSuper GameMNUPiet SmitEdit
279et sitLowAssignedSuper GameMNUPiet SmitEdit
297dolores magnam eosAnecdoticAssignedSuper GameMNUFundiswa Mhlanga and Wikus van de MerweEdit
302eligendi velNormalAssignedSuper GameMNUPiet SmitEdit
312repellendus perferendis vitaeLowAssignedSuper GameMNUWikus van de MerweEdit
324natus dicta possimusAnecdoticAssignedDivine FirmwareSkyNetFundiswa Mhlanga and Koobus VenterEdit
334sitAssignedDivine FirmwareSkyNetGrey Bradnam, Koobus Venter, and Sarah LivingstoneEdit
357optio provident quiAnecdoticAssignedSuper GameMNUWikus van de Merwe and Piet SmitEdit
365eligendi delenitiAnecdoticAssignedSuper GameMNUPiet SmitEdit
277magni officia inciduntNormalAssignedDivine FirmwareSkyNetEdit
179omnis et facilisLowAssignedDivine FirmwareSkyNetEdit
210molestiaeHighAssignedSuper GameMNUEdit

Fork me on GitHub