diff --git a/app/browse.rb b/app/browse.rb index d9bcfcf3..7e0a2f3b 100644 --- a/app/browse.rb +++ b/app/browse.rb @@ -15,6 +15,14 @@ get '/browse/?' do @pagination_dataset = site_dataset @sites = site_dataset.all + site_ids = @sites.collect {|s| s[:id]} + tags = DB['select site_id,name from tags join sites_tags on tags.id=sites_tags.tag_id where site_id IN ?', site_ids].all + + @site_tags = {} + site_ids.each do |site_id| + @site_tags[site_id] = tags.select {|t| t[:site_id] == site_id}.collect {|t| t[:name]} + end + if params[:tag] @title = "Sites tagged #{params[:tag]}" end diff --git a/views/browse.erb b/views/browse.erb index dc0d6864..9efa6155 100644 --- a/views/browse.erb +++ b/views/browse.erb @@ -116,10 +116,10 @@
- <% if site.tags.count > 0 %> + <% if @site_tags[site.id].length > 0 %> - <% site.tags.each_with_index do |tag, index| %> - <%= tag.name %><% if index != site.tags.length - 1 %>,<% end %> + <% @site_tags[site.id].each_with_index do |tag, index| %> + <%= tag %><% if index != @site_tags[site.id].length - 1 %>,<% end %> <% end %> <% end %>