ben

OMÜ , Bilgisayar Mühendisliği, 13'

1 Aralık 2016 Perşembe

jquery-datatables-rails


Rails  projelerinde coğulukla verileri listelerken tablolarla uğraşırız. Fakat veriler çoğaldıkça bu veriler içinde arama, sıramala, sayfalamalara ihtiyaç duyarız. Bunun için hazır bir  yöntem mevcut: "DateTable"

gemfile.cs

gem 'jquery-datatables-rails'

 tablomuzda simple form ve bootstrap kullanacağımız için de aşağıdaki gemleri ekleyelim:

gem 'simple_form'
gem 'bootstrap-sass', '~> 3.1.1.0'


controller.rb

  def index
    @sections = Section.all ||= []
  end


index.html.erb

<div class="col-md-1">
</div>
<div class="col-md-10 well">
  <table class="table table-hover  ">
                <thead>
                  <tr>
                    <th>Adı</th>
                    <th>oluşturma tarihi</th>
                  </tr>
                </thead>

                <tbody>
                  <% @sections.each do |sec| %>
                    <tr>
                      <td><%= sec.name %></td>
                      <td><%= sec.created_at.strftime("%d.%m.%Y - %H:%M") %></td>
                    </tr>
                  <% end %>
                </tbody>
              </table>
</div>
<div class="col-md-1">
</div>


Bu durumda daha dataTable olayını eklemedık. standart rails tablo görüntüsü:



Tablomuz class adı verelim:


  <table class="table table-hover sections_table ">


aynı html içerisine:


<script type="text/javascript">
$(document).ready( function () {
  $('.sections_table').DataTable( {
     "language": {

        "lengthMenu": "Sayfada _MENU_ Kayıt Göster",
        "zeroRecords": "Eşleşen Kayıt Bulunmadı",
        "info": "  _TOTAL_ Kayıttan _START_ - _END_ Arası kayıtlar",
        "infoEmpty": "Kayıt Yok",
        "infoFiltered": "( _MAX_ Kayıt içerisinden Bulunan)",
        "search": "Bul:",
        "paginate": {
          "first": "İlk",
          "previous": "Önceki",
          "next": "Sonraki",
          "last": "Son" }
     
    }

   } );
} );
</script>


Şimdi bakalım son duruma:


Hiç yorum yok: