【发布时间】:2016-08-03 23:57:28
【问题描述】:
我正在使用acts_as_taggable_on 来标记帖子和用户个人资料。标签记录与 taggable_type 帖子或个人资料以及上下文标签和兴趣一起正确保存。 Acts_as_taggable_on 将<%= render post.tags %> 和 发送到views/acts_as_taggable_on/tags/_tag.html.erb,其中自述文件建议链接到<%= link_to tag.name, tag_path(tag.name) %>。
我想做的是根据 taggable_type 或上下文更改路径 - 对于帖子标签和个人资料标签,例如 if tag.tagging.context == 'interest' link_to tag.name, profile_tag_path(tag.name) 等。
在各自的视图/控制器中,我可以正确获取记录filtered by context,我只是在有条件地更改链接路径时遇到了麻烦。 tag.tagging.context 给出无方法错误,tag.taggings.each do |tag| tag.context 在每次使用时返回给定标签的所有上下文-即,如果在两者上多次使用,则打印 4 次“兴趣”和 10 次打印“标签”个人资料和帖子。我想要的只是当前实例的上下文。
我也很高兴听到是否有其他方法可以做到这一点(即,链接到 users/tagged/tag 以仅返回带有“tag”标签的个人资料和 /tagged/tag 以仅返回带有“tag”标签的帖子',等等),它看起来应该很简单。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 acts-as-taggable-on