Ich habe bemerkt, dass Paginierung Edelsteine wie mislav-will_paginate
sehr beliebt sind. Liegt das daran, dass Rails keine integrierte Paginierungslösung hat oder weil die integrierte Lösung nicht sehr gut ist?Hat Rails eine integrierte Paginierungslösung?
Antwort
Rails hat integrierte Paginierung, aber es ist ein einfaches Modul und nicht für alle Bedürfnisse geeignet. Wenn Sie jedoch keine spezifischen Paginierungsanforderungen haben, sollte dies für die meisten Zwecke geeignet sein.
würde ich searchlogic empfehlen. Es hat Paginierung eingebaut und viele andere Dinge.
- Einfache Filterung
- Paginierung
- Sortierung
Und .. für all den netten Helfer.
-Code sagt mehr als tausend Worte (tun sie nicht durch die HAML Beispiel verwirren zu lassen, können Sie normale erb-Vorlagen verwenden, wenn Sie sie bevorzugen, wird der Code/Struktur ist die gleiche):
Controller:
def index
@search = User.new_search(params[:search])
@users, @users_count = @search.all, @search.count
end
Paginierung Sachen in der Ansicht:
== Per page: #{per_page_select}
== Page: #{page_select}
Sortieren nach/von im Blick:
- unless @users_count.zero?
%table
%tr
%th= order_by_link :account => :name
%th= order_by_link :first_name
%th= order_by_link :last_name
%th= order_by_link :email
- @users.each do |user|
%tr
%td= user.account? ? user.account.name : "-"
%td= user.first_name
%td= user.last_name
%td= user.email
Einfache, einfache und schnelle Filter:
- form_for @search do |f|
- f.fields_for @search.conditions do |users|
= users.text_field :first_name_contains
= users.date_select :created_after
- users.fields_for users.object.orders do |orders|
= orders.select :total_gt, (1..100)
= f.submit "Search"
Und alles funktioniert zusammen, so eine Seite zu ändern und dann die Sortierung und das Hinzufügen eines Filters arbeitet, ohne eine der anderen Einstellungen :) zu verlieren.
Alles was Sie brauchen in Ihrem environment.rb ist:
config.gem "searchlogic"
und installieren Sie es mit: rake gems:install
Auch Kasse der online example
Wie ist das mit den zahlreichen anderen Paginierungslösungen zu vergleichen? Warum wählen Sie dies gegenüber den anderen? – propstop
Nun, das vorherige, was ich verwendet habe, war wil_paginate, das war der Standard-Paginator. Die Schönheit der searchlogic ist a) dass alles integriert ist (Sie müssen nicht Paginator Arbeit zusammen filtern/sortieren, das ist automatisch/magisch getan). Und b) es ist ziemlich aktiv ATM entwickelt und es sieht ziemlich ausgereift aus. c) Der Entwickler produziert sehr nette und intuitive Bibliotheken, ich würde auch seine Auth-Bibliothek 'authlogic' empfehlen. In der Dokumentation finden Sie einige Hinweise, warum authlogic "besser" ist als die anderen Auth-Plugins :). Aber versuchen Sie es einfach in einer Ihrer Daten Ansichten .. – reto
Ah was für ein tolles Timing: http://github.com/binarylogic/searchlogic/tree/v2 – reto
In Rails 2.0 die Paginierung Fähigkeit von Actioncontroller entfernt wurde und verwandelte sich in ein Plugin für die Rückwärtskompatibilität namens 'classic_pagination'. Aus meinen Recherchen für eine Paginierungslösung für mich selbst scheint jedoch der Konsens zu bestehen, dass die Verwendung von "classic_pagination" nicht optimal ist.
Nachdem ich ein paar Podcasts angeschaut habe und nach mehreren Empfehlungen, habe ich mich entschieden, das will_paginate Plugin auszuprobieren und habe nicht zurückgeschaut. Es ist schnell, einfach zu bedienen und gut gepflegt.
Ich glaube, dass sogar V2 von Searchlogic seine Verwendung empfiehlt.
Ich kam zu dem gleichen Schluss. Das railscasts-Tutorial zu will_paginate war ebenfalls sehr hilfreich. – tstyle
Wenn Sie Rails 3 verwenden, ist das Kaminari-Plugin sehr praktisch für die Paginierung. Github Railscasts
+1 für Kaminari. Ich benutzte Will_paginate, aber Kaminari ist viel schöner. – kakubei
- 1. Hat MFC eine integrierte Rastersteuerung?
- 2. Hat iOS-Entwickler eine integrierte Schriftart mit fester Breite?
- 3. Hat Chrome eine integrierte Spracherkennung für "x-webkit-speech" -Eingangselemente?
- 4. Wie integrierte Flexbox mit Ruby on Rails
- 5. rails association hat einen
- 6. Integrierte Promotion
- 7. Generische integrierte EventArgs für nur eine Eigenschaft?
- 8. QT 5.0 - Integrierte Protokollierung?
- 9. Integrierte Bediener Kandidaten
- 10. Hat Rails ein integriertes Authentifizierungssystem?
- 11. Hat Rails standardmäßig * null * Nebenläufigkeit?
- 12. Hat Ruby oder Rails eine Funktion namens getaddrinfo?
- 13. web integrierte mobile anwendung
- 14. Integrierte Passwortauthentifizierung in Cocoa?
- 15. Integrierte Lokalisierungstools in VS2008
- 16. IE/IIS integrierte Authentifizierungsproblem
- 17. Integrierte WPF-Befehle
- 18. AngularJS - $ Intervall integrierte Service
- 19. Wie Android integrierte Icons
- 20. Integrierte Vergleichssortierung in Java
- 21. Wie überschreiben Sie eine integrierte Ausnahme-Mapper in Jersey 2.23?
- 22. meine Rails ApplicationController hat einen RoutingError
- 23. Hat Ruby/Rails ein Äquivalent von ++?
- 24. Rails Partial Rendering hat 10x Spikes Renderzeit
- 25. production.log hat eine große Größe
- 26. verwenden integrierte Datenbank in angular.js
- 27. Rails Byebug hat nicht gestoppt Anwendung
- 28. Warum hat Rails "drive" in "drife" geändert?
- 29. Hat Hive eine String-Split-Funktion?
- 30. Sind Python-integrierte Container threadsicher?
will_paginate ist so ziemlich eigentlich die „integrierte“ Lösung in diesen Tagen/ –
scheint searchlogic will_paginate verwendet, so brauchen Sie nicht searchlogic zu verwenden, um es zu bekommen. Es sieht jedoch ziemlich cool aus. http://rdoc.info/github/binarylogic/searchlogic/master/file/README.rdoc#Pagination_(leverage_will_paginate) – calasyr