Ruby on Rails Ruby Rubygems OpenSource

OpenSource

HTML-Tabellen mit Ruby on Rails einfacher generieren

Für ein aktuelles Projekt werden wir sehr viele Übersichten, Reports und Auswertungen erstellen. Um uns die Arbeit zu erleichtern, haben wir kurzerhand ein kleines Gem entwickelt und veröffentlicht.

Installation

Die Installation erfolgt wie gewohnt via Gemfile

gem 'table_go'

oder auf der Konsole

gem install table_go

Erste Schritte

Das folgende Code-Beispiel zeigt eine Html-Tabelle, wie man sie auf herkömmliche Weise bauen würde.

<table class="table table-hover">
  <thead>
    <tr>
      <th>Titel</th>
      <th>Autor</th>
      <th>Preis</th>
      <th>Aktion</th>
    </tr>
  </thead>
  <tbody>
    <% @books.each do |book| %>
      <tr>
        <td><%= book.title %></td>
        <td><%= book.auto %></td>
        <td><%= number_to_currency(book.price) %></td>
        <td><%= link_to(t('.edit'), book_path(book)) %></td>
      </tr>
    <% end %>
  </tbody>
</table>

Mit table_go kann man einige Schreibarbeit sparen. Der folgende Code erzeugt die gleiche Tabelle.

# ERB:
<%= table_go_for @books, Book, :table_html => {:class => 'table table-hover'} do |t| %>
  <% t.column :title %>
  <% t.column :autor %>
  <% t.column :price, :as => :currency %>
  <% t.column :action, :label => t('.action') do |value, record, column| %>
    <%= link_to(t('.edit'), book_path(record)) %>
  <% end %>
<% end %>

Die Schreibweise in HAML sieht wie folgt aus:

# HAML:
= table_go_for @books, Book, :table_html => {:class => 'table table-hover'} do |t|
  - t.column :title
  - t.column :autor
  - t.column :price, :as => :currency
  - t.column :action, :label => t('.action') do |value, record, column|
    = link_to(t('.edit'), book_path(record))

I18n wird auch berücksichtigt. Für :currency, :date und :percent verwendet man am Besten gem 'rails-i18n' im Gemfile.

de:
  activerecord:
    attributes:
      book:
       title: Titel
       autor: Autor
       price: Preis

Ein weiteres ausführlicheres Beipiel ist hier zu finden.

Stichwörter

Unterstützung anfordern

Die megorei Software GmbH realisiert mit Ruby on Rails individuelle und weborientierte Softwarelösungen. Wenn Sie zum Thema Fragen haben oder Unterstützung benötigen, nehmen Sie einfach Kontakt mit uns auf.

Teile diese Seite auf