我的模型
class House
has_many :taggings
has_many :tags, through: :taggings
end
class Tag
has_many :taggings
has_many :houses, through: :taggings
end
路线:
scope "/:locale" do
resources :houses do
collection do
get 'tags/:tag', to: 'houses#index', as: :tag
end
房屋控制器:
if params[:tag]
@houses = House.tagged_with(params[:tag])
@tag = Tag.find_by_name(params[:tag])
else
房屋索引视图
- @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
我想显示带有标记页面链接的标签。这很好用,但是当 2 个房屋被标记为相同的标记名(DB 中的 1 个)时,视图会显示 2 个相同的标记。(例如,房子 1 和 2 被标记为“家庭”,我在索引页面上看到 2 个家庭标签)我该如何解决这个问题?
谢谢..remco