1

Was ich erreichen möchte: dynamisch Kategorie Sortierer erstellen mit isotope.js von meinem Gallery.tagglobalisieren 3 gem Sortierung Array mit Übersetzung ::

zu tun, dass ich zu

brauchen
  1. Schleife aus einem Klein einzigartig Tags für meine html .class-
  2. Schleife aus dem Tag (globalisieren 3 für die Übersetzung verwendet wird) in der <h2>

angezeigt werden ich nicht 012 verwenden könnenfür beide Fälle, weil auf Switch-Sprache wird chinesisches Zeichen zu meiner .class ausgeben, die den Sortierer bricht. Deshalb habe ich zwei Arrays erstellt und diese mit Zip und Looping miteinander kombiniert.

Ich versuche, sie nach alphabetischer Reihenfolge zu sortieren, aber meine entsprechenden chinesischen Tags folgen nicht meiner englischen Reihenfolge.

Galerien/index.html.erb

<% @uniq_test = [] %> 
    <% @galleries_order.each do |gallery| %> 
     <% next if @uniq_test.include?(gallery.tag) %> 
    <% @uniq_test << gallery.tag %> 
<% end %> 
<% @sorters = @sorters.map(&:downcase).sort! %> 
<% @uniq_test = @uniq_test.map(&:downcase).sort! %> 
<% @uniq_sorters = @uniq_test.zip(@sorters) %> 
<div class="main"> 
    <div class="gallery-select-wrapper"> 
     <div class="sort-gallery-buttons animated slideInLeft text-center"> 
      <h2 id="recent"class="recent"><%= t"galleries.sorter.recent"%></h2> 
    <% @uniq_sorters.each do |uniq, sorter| %> 
     <% if sorter != nil %> 
      <% str = "<h2 class='" + sorter + "'" + "id='"+ sorter + "'>"%> 
      <%= str.html_safe + uniq + "</h2>".html_safe %> 
     <% end %> 
    <% end %> 
     </div> 
    </div> 
</div> 

Controller/galleries.rb

def index 
    @galleries = Gallery.all.order("created_at DESC") 
    @galleries_order = Gallery.all.order("title ASC") 
    @sorters = Gallery.uniq.pluck(:tag) 
    gon.tags = Gallery.uniq.pluck(:tag) 
end 

en Kategorien [Land, Thema, Projekt, Krieg] zh Kategorien [主題, 國家, 戰爭, 項目] < - aktuell (in en = Thema, Land, Krieg, Projekt) Meine Kategorien sind [國家, 主題, 項目, 戰爭] < - Ziel (selbe wie en)

auf den Punkt gebracht Ich möchte, dass chinesische Übersetzung meiner englischen alphabetischen Reihenfolge folgt.

enter image description here

enter image description here

+0

Would machen meine Arrays Hashes Arbeit? – Rex

Antwort

0

es gelöst! Kurz gesagt, um etwas mit globalize3 :: translation models zu sortieren, ist der beste Weg für meinen Fall das Sortieren nach :id oder in meinem Fall :created_at anstatt nach Titel, mit dem ich es zu tun habe, einen Weg zu finden, chinesische Schriftzeichen zu sortieren! Da es mir nicht besonders wichtig ist, ob die Begriffe in alphabetischer Reihenfolge stehen, bin ich glücklich, solange sie synchron sind.

So einfach, dass ich es definitiv übertrieben habe!

Galerien/index.html

<% @array = [] %> 
<% @test.each do |test| %> 
    <% next if @array.include?(test.tag) %> 
    <% @array << test.tag %> 
<% end %> 

<% @array_en = [] %> 
<% @test.each do |test| %> 
    <% next if @array_en.include?(test.tag_en) %> 
    <% @array_en << test.tag_en %> 
<% end %> 

<% @combined_array = @array.zip(@array_en) %> 

<div class="main"> 
    <div class="gallery-select-wrapper"> 
     <div class="sort-gallery-buttons animated slideInLeft text-center"> 
      <h2 id="recent"class="recent"><%= t"galleries.sorter.recent"%></h2> 
    <% @combined_array.each do |uniq, sorter| %> 
     <% if sorter != nil %> 
      <% str = "<h2 class='" + sorter + "'" + "id='"+ sorter + "'>"%> 
      <%= str.html_safe + uniq + "</h2>".html_safe %> 
     <% end %> 
    <% end %> 
     </div> 
    </div> 
</div> 

Controller/galleries.rb

@test = Gallery.all.sort { |p1, p2| p1.created_at <=> p2.created_at }