<%= table.define :edit do |options| %> <%= link_to "Edit", [:edit, options[:scope], options[:record]].flatten %> <% end %> <%= table.define :show do |options| %> <%= link_to "Show", [options[:scope], options[:record]].flatten %> <% end %> <%= table.define :delete do |options| %> <%= link_to "Delete", [options[:scope], options[:record]].flatten, :method => "delete", :confirm => "Are you sure you want to delete this #{options[:record].class.to_s.humanize}?" %> <% end %> <%= table.define :thead do %> <%= table.use :header_row %> <% end %> <%= table.define :header_row do %> <%= table.use :header_columns %> <% end %> <%= table.define :header_columns do |options| %> <% table.columns.each do |column| %> <%= content_tag :th, options.merge(column.options)[:header_html] do %> <%= table.use "#{column.name.to_s}_header", options.merge(:column => column) %> <% end %> <% end %> <% end %> <% table.columns.each do |column| %> <%= table.define "#{column.name.to_s}_header", :column => column do |record, options| %> <%= column.options[:label] ? column.options[:label] : column.name.to_s.titleize %> <% end %> <% end %> <%= table.define :tbody do %> <%= table.use :rows %> <% end %> <%= table.define :rows do %> <% records.each do |record| %> <%= table.use :row, :record => record %> <% end %> <% end %> <%= table.define :row do |options| %> <%= content_tag :tr, evaluated_content_options(options[:row_html], options) do %> <%= table.use :data_columns, options %> <% end %> <% end %> <%= table.define :data_columns do |options| %> <% table.columns.each do |column| %> <%= content_tag :td, options.merge(column.options)[:column_html] do %> <%= table.use column, options[:record], options.merge(:column => column) %> <% end %> <% end %> <% end %> <% table.columns.each do |column| %> <%= table.define column.name, :column => column do |record, options| %> <%= record.send(options[:column].name) %> <% end %> <% end %> <%= table.use :table do |options| %> <%= content_tag :table, options[:table_html] do %> <%= table.use :thead %> <%= table.use :tbody %> <% end %> <% end %>