我正在使用acts_as_taggable gem将标签添加到两个单独的模型文章和咖啡店。我有能力分别提交和显示两个模型中的标签。当您单击标记时,它还会显示包含该标记的文章列表。我无法解决的是如何为Coffeeshops做这件事。该路径只会将您带到文章索引。我确信我需要更改routes.rb
中的内容以及coffeeshop/index.html.erb
在我的路线中:
get 'tags/:tag', to: 'articles#index', as: :tag
将此复制到咖啡店显然不起作用。我正在思考:
get 'tags/:article_tag, to 'articles#index, as: article_tag
get 'tags/:coffeeshop_tag, to 'coffeeshops#index, as: coffeeshop_tag
get 'articles/tags/:article_tag, to 'articles#index, as: article_tag
get 'coffeeshops/tags/:coffeeshop_tag, to 'coffeeshops#index, as: coffeeshop_tag
不起作用
但是如何在视图中更改此内容?我目前有:
<%= raw(@article.tag_list.map { |t| link_to t, tag_path(t) }.join(', ')) %>
我将其更改为:
<%= raw(@article.tag_list.map { |t| link_to t, @article.tag_path(t) }.join(', ')) %>
但这只会引发undefined method 'tag_path' for #<Article:0x007fd49ab18f98>
Did you mean? image_path
错误。
答案 0 :(得分:0)
对它进行排序。
将视图标记更新为:
<%= raw(@coffeeshop.tag_list.map { |t| link_to t, coffeeshops_tag_path(t) }.join(', ')) %>
。
并改变了路线如下:
get 'coffeeshops/tags/:tag', to: 'coffeeshops#index', as: :coffeeshops_tag