tag#showに、そのタグが付いたすべてのエントリを一覧表示します。ページの下部に、次のようなものが必要です。「関連タグ:リンク、リスト、の、関連タグ」私のビューは次のようになります。
<h2><%= link_to 'Tag', tags_path %>: <%= @tag.name.titleize %></h2>
<% @entries.each do |entry| %>
<h2><%= link_to h(entry.name), entry %></h2>
<%- unless entry.phone.empty? -%>
<p><%= h(entry.phone) %></p>
<%- end -%>
<%- unless entry.address.empty? -%>
<p><%= h(entry.address) %></p>
<%- end -%>
<%- unless entry.description.empty? -%>
<p><%= h(entry.description) %></p>
<%- end -%>
<p2><%= link_to "more...", entry %><p2>
<% end %>
Related Tags:
<% @related.each do |tag| %>
<%= link_to h(tag.tags), tag %>
<% end %>
tags_controller.rb:
def show
@title = Tag.find(params[:id]).name
@tag = Tag.find(params[:id])
@entries = Entry.paginate(Entry.find_tagged_with(@tag),
:page => params[:page], :per_page => 10, :order => "name")
@related = Entry.tagged_with(@tag, :on => :tags)
end
すべてのエントリには少なくとも1つのタグがあり、エントリモデルで必要です。重複するタグを無視し、現在のタグ(リストが属するタグ)を無視したいのですが。私の現在のコードはこれを表示します:
関連タグ:Gardens Gardens ToursGardens
Gardensはエントリへのリンクであり、taggardensではありません。ToursGardensは、これらのタグを含むエントリへのリンクです。
私の望ましい結果は次のようになります。
関連タグ:庭園、ツアー
各リンクは、関連するタグにリンクします。誰かが私がこれを達成するのを手伝ってもらえますか?div_forを使ってみましたが、正しくないと思います。