2016-08-03 41 views
0

我正在使用acts_as_taggable_on標記帖子和用戶配置文件。標記記錄正在使用taggable_type發佈或配置文件以及上下文標記和興趣正確保存。 Acts_as_taggable_on將<%= render post.tags %>和<%=呈現profile.interest%>發送到views/acts_as_taggable_on/tags/_tag.html.erb,其中readme建議link_to類似<%= link_to tag.name, tag_path(tag.name) %>acts_as_taggable_on標記鏈接條件上下文

我想要做的是根據taggable_type或上下文更改路徑 - 類似if tag.tagging.context == 'interest' link_to tag.name, profile_tag_path(tag.name)等post標籤vs配置文件標籤。

在相應的視圖/控制器中,我可以正確地獲取記錄filtered by context,我只是有條件地改變鏈接路徑。 tag.tagging.context給出無方法錯誤,tag.taggings.each do |tag| tag.context每次使用它時返回給定標籤的所有上下文 - 即,如果在配置文件和帖子上多次使用了'interest',則打印10個'tags',打印10個'tags'。我想要的只是當前實例的上下文。

我也很高興聽到是否有另一種方式來做到這一點(即,鏈接到用戶/標記/標籤,只返回標記爲'標記'和/標記/標記的配置文件,以返回標記爲'標籤「等),它看起來應該是非常簡單的。

回答

0

在情況下,它是有用的人,我結束了遍歷每個標籤,像這樣:

<span class="global tags"> 
     <% @post.global_list.each do |tag| %> 
     <span class="label label-default"> 
      <%= link_to tag, post_tag_path(tag) %> 
     </span> 
     <% end %> 
    </span> 

    <span class="personal tags"> 
     <% @post.personal_list.each do |tag| %> 
     <span class="label label-default"> 
      <%= link_to tag, user_tag_path(@post.user.name, tag) %> 
     </span> 
     <% end %> 
    </span>