module TableHelper

Constants

GEM_NAME
VERSION

Public Instance Methods

table_for(records, *args, &proc) click to toggle source

Simplest examle:

<%= table_for @users do -%>
  <% columns :name, :email, :address %>
<% end %>

Simple examle:

<%= table_for @users, :http => { :class => "simple-table", :id => "users" } do -%>
  <% column :name %>
  <% column :email %>
  <% column :address %>
<% end %>

More complex example:

<%= table_for @users do -%>
  <% column :login, :title => "User name" %>
  <% column :email %>
  <% column :title => "Full name" do |user| %>
    <% [user.first_name, user.last_name].join(" ") %>
  <% end %>
  <% column :title => "Actions" do |user| %>
    <% link_to "Show", user %>
    <% link_to "Delete", user, :method => :delete %>
  <% end %>
<% end %>
# File lib/table_for/helper.rb, line 30
def table_for(records, *args, &proc)
  raise ArgumentError, "Missing block" unless block_given?
  options = args.extract_options!
  raise ArgumentError, "Records should have #map method" unless records.respond_to?(:map)
  t = Table.new(self, records, options)
  t.instance_eval(&proc)
  t.draw
end