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
81-100 / 449 Sýna allt
259suntCancelledDivine FirmwareSkyNetFundiswa Mhlanga and Grey BradnamEdit
267quoLowCancelledSuper GameMNUChristopher JohnsonEdit
280corporisHighCancelledUltimate WebsiteMNUDirk Michaels and ObesandjoEdit
286excepturi deleniti corporisLowCancelledUltimate WebsiteMNUDirk Michaels and Ross PienaarEdit
315autemUrgentCancelledSuper GameMNUPiet Smit, Fundiswa Mhlanga, and Christopher JohnsonEdit
341est cumUrgentCancelledDivine FirmwareSkyNetSarah LivingstoneEdit
342non similiqueCancelledDivine FirmwareSkyNetGrey BradnamEdit
354sedUrgentCancelledSuper GameMNUPiet SmitEdit
358quibusdam consequunturUrgentCancelledDivine FirmwareSkyNetKoobus VenterEdit
364nesciunt ullam nequeAnecdoticCancelledSuper GameMNUChristopher JohnsonEdit
374voluptatem saepeHighCancelledDivine FirmwareSkyNetSarah Livingstone and Grey BradnamEdit
405magni excepturiAnecdoticCancelledDivine FirmwareSkyNetGrey BradnamEdit
418cupiditate ut illumNormalCancelledUltimate WebsiteMNUDirk MichaelsEdit
427quae assumendaCancelledDivine FirmwareSkyNetFundiswa MhlangaEdit
435eos deseruntUrgentCancelledDivine FirmwareSkyNetGrey Bradnam, Koobus Venter, and Dirk MichaelsEdit
461dolor voluptasNormalCancelledUltimate WebsiteMNUDirk MichaelsEdit
464culpaCancelledUltimate WebsiteMNUDirk MichaelsEdit
470et nonAnecdoticCancelledSuper GameMNUWikus van de MerweEdit
269culpa assumendaHighCancelledDivine FirmwareSkyNetEdit
472perspiciatisCancelledUltimate WebsiteMNUEdit

Fork me on GitHub