1

我正在使用acts_as_taggable_on 为帖子添加标签,其他标签插件/宝石不适用于rails 3。我可以在帖子模型上编辑/显示标签,标签控制器显示按名称标记的帖子,即/tags/post-标签名/。我想要的功能是将帖子页面上的标签转换为链接以显示具有相同标签的其他帖子。我按照使用acts_as_taggable_on_steroids的sitepoints'simply rails 2'中的教程进行操作,但遇到以下错误;

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"}
4

1 回答 1

1

看起来您想使用 :collection,它将使用模板呈现整个列表:

<div id="tags">
  <% unless @post.tag_list.empty? %>
    <p class="tags">
      <%= render :partial => 'tag', :collection => @post.tags %>
    </p>
  <% end %>
</div>
于 2010-10-26T13:53:30.390 回答