mes modèleshas_many> à travers?
class House
has_many :taggings
has_many :tags, through: :taggings
end
class Tag
has_many :taggings
has_many :houses, through: :taggings
end
Routes:
scope "/:locale" do
resources :houses do
collection do
get 'tags/:tag', to: 'houses#index', as: :tag
end
contrôleur Maison
:
if params[:tag]
@houses = House.tagged_with(params[:tag])
@tag = Tag.find_by_name(params[:tag])
else
vue index Maison
- @houses.each do |house|
= raw house.tags.map(&:name).map { |t| link_to t, tag_houses_path(t), class: active_class?(tag_houses_path(t)) }.join
Je veux montrer les tags avec l encres aux pages marquées. Cela fonctionne bien, mais lorsque 2 maisons sont marquées avec la même balise (1 dans la base de données), la vue affiche 2 mêmes balises. (Par exemple les maisons 1 et 2 sont marquées avec "famille" je vois 2 étiquettes de famille sur la page d'index) Comment puis-je résoudre ce problème?
Thanks..remco
lorsque 1 maison a une relation à tag "famille" la balise est montrée 1 fois, quand 2 maisons différentes sont tag avec la famille> 2 balises familie sont montrées - quand 3 maisons différentes sont tag avec la famille> 3 balises familie sont montrées. Donc dans mon cas 5 maisons sont marquées avec "famille", 5 étiquettes avec le nom "famille est montrée, au lieu d'une étiquette de famille. – Remco