我想要实现的目标:使用我的 isotope.js 动态创建类别分类器Gallery.tag
为此,我需要
- 为我的 html .class 循环出一个小写的唯一标签
- 循环出标签(使用 globalize 3 进行翻译)以显示在
<h2>
我不能同时使用@galleries
这两种情况,因为在切换语言时,它会将中文字符输出到我的 .class 中,这会破坏分拣机。因此,我创建了两个数组并将它们与 zip 组合在一起并与每个数组循环。
我尝试按字母顺序对它们进行排序,但我对应的中文标签没有按照我的英文顺序。
画廊/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>
控制器/画廊.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 类别是 [国家、主题、项目、战争] zh 类别是 [主题,国家、战争、项目] <-- 当前(在 en = 主题、国家、战争、项目中)我的类别是 [国家、主题、项目、战争] <--目标(同en)
简而言之,我希望中文翻译按照我的英文字母顺序。