Проблемы с тегами в Rails 3, act_as_taggable_on - PullRequest
1 голос
/ 26 октября 2010

Я использую act_as_taggable_on для добавления тегов к сообщениям, другие плагины / гемы для тегов не работают с рельсами 3. Я могу редактировать / отображать теги на модели постов, и контроллер тегов отображает сообщения, отмеченные по имени, т.е. / tags/ тег имя-пост /.Функциональность, которую я хочу, - превращать теги на страницах сообщений в ссылки для отображения других сообщений с таким же тегом.Я следовал учебному руководству в sitepoints «просто рельсы 2», в котором используются act_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) %>

posts / 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"}

1 Ответ

1 голос
/ 26 октября 2010

Похоже, вы хотите использовать: collection, которая будет отображать весь список с шаблоном:

<div id="tags">
  <% unless @post.tag_list.empty? %>
    <p class="tags">
      <%= render :partial => 'tag', :collection => @post.tags %>
    </p>
  <% end %>
</div>
...