我正在使用acts_as_taggable_on为帖子添加标签,其他标记插件/宝石不能使用rails 3.我可以在帖子模型上编辑/显示标签,标签控制器显示按名称标记的帖子,即/ tags /后标签名称/。 我想要的功能是将帖子页面上的标签转换为链接,以显示具有相同标签的其他帖子。 我按照sitepoints'简单的rails 2'中的教程使用了acts_as_taggable_on_steroids,但我遇到了以下错误;
ActionView::MissingTemplate in Posts#show
Missing partial acts_as_taggable_on/tags/tag with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths "../app/views"
Extracted source (around line #28):
25: <div id="tags">
26: <% unless @post.tag_list.empty? %>
27: <p class="tags">
28: <%= render :partial => @post.tags %></p>
29: <% end %>
...
class Post < ActiveRecord::Base
...
acts_as_taggable_on :tags
end
class TagsController < ApplicationController
def show
@post = Post.tagged_with(params[:id])
end
end
_tag.html.erb
<%= link_to, tag_path(:id => tag.name) %>
文章/ show.html.erb
<div id="tags">
<% unless @post.tag_list.empty? %>
<p class="tags">
<%= render :partial => @post.tags %></p>
<% end %>
</div>
同时尝试在tags / index.html处添加标签云,如此处所述http://github.com/mbleigh/acts-as-taggable-on给出了路由错误;
No route matches {:action=>"tag", :id=>"news", :controller=>"tags"}
答案 0 :(得分:1)
看起来你想要使用:collection,它将使用模板呈现整个列表:
<div id="tags">
<% unless @post.tag_list.empty? %>
<p class="tags">
<%= render :partial => 'tag', :collection => @post.tags %>
</p>
<% end %>
</div>