Simple Table For helper
Generate HTML tables in a simple and clean way.
Installation
gem 'simple_table_for'
Usage
<%= table_for @users, [:name, :email, 'Registration date', 'Comments count', '-'], model: User do |user| %>
<%= field user.name %>
<%= field user.email %>
<%= field user.created_at %>
<%= field user.comments.count %>
<%= field link_to('View', user) %>
<% end %>
The above will generate a table like:
| First name | Registration date | Comments count | - | |
|---|---|---|---|---|
| John | [email protected] | 01/01/2015 | 15 | View |
| Mark | [email protected] | 02/02/2015 | 34 | View |
The second parameter is a array of headers. For a Symbol header, the helper
will get the localizated name in config/locales folder. The model option
should be informed in this case. For a String header, the helper will just
print it as is.
You can optionally add an id or classes to tables and fields:
<%= table_for @users, [:name, '-'], model: User, id: 'users-table', class: 'table' do |user| %>
<%= field user.name, class: 'user-name' %>
<%= field link_to('View', user), class: 'user-link' %>
<% end %>
Setting default options
You can also set a default class for tables:
# application.rb
class Application < Rails:Application
# for a Bootstrap table
config.simple_table_for.defaults = {
class: 'table table-condensed table-striped table-bordered'
}
end
This project uses MIT-LICENSE.
Contributing
- Fork it ( https://github.com/andreynering/simple_table_for/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request