ruby-on-rails - Rails 3 - 使用acts_as_taggable_on v.2.0.3 时出现路由错误

标签 ruby-on-rails acts-as-taggable-on

我在Rails 3 中使用acts_as_taggable_on v.2.0.3 向帖子添加标签。我添加了一个标签云,如下所述:https://github.com/mbleigh/acts-as-taggable-on ,但我遇到了一个错误: ActionController::RoutingError in Posts#index: 没有路由匹配 {:action=>"tag", :id=>"politics", :controller=>"posts"}。 我的代码如下:

PostHelper:

module PostsHelper
  include TagsHelper
end

模型帖子:

class Post < ActiveRecord::Base
  ...
  acts_as_taggable_on :tags
end

后置 Controller

class PostController < ApplicationController
  ...
  def tag_cloud
    @tags = Post.tag_counts_on(:tags)
  end
end

查看:

<% tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| %>
  <%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %>
<% end %>

路线.rb:

Blog::Application.routes.draw do
  root :to => "posts#index"
  resources :posts do
    member do
      post :notify_friend
    end
    collection do
      get :search
    end
    resources :comments
  end
  resources :users
  resource :session
  match '/login' => "sessions#new", :as => "login"
  match '/logout' => "sessions#destroy", :as => "logout"
end

我做错了什么?感谢您的回答。

最佳答案

嗯,我想我明白了。 首先,我以这样的方式编辑了routes.rb:

resources :posts do
  ...
  collection do
    get :tag
  end
end

其次,我在 PostController 中添加了“Tag”方法:

  def tag
    @posts = Post.tagged_with(params[:id])
    @tags = Post.tag_counts_on(:tags)
    render :action => 'index'
  end

它有效!

关于ruby-on-rails - Rails 3 - 使用acts_as_taggable_on v.2.0.3 时出现路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4174730/

相关文章:

ruby-on-rails - 如何设置标签的最小和最大数量?

css - Rails 渲染模板动态不解析样式表

ruby-on-rails - habtm 关系上的计数器缓存?

javascript - 如何构建 Oa_zones 数组以利用 Rails 中的 Open full page 调用?

ruby-on-rails - 使用 acts-as-taggable-on 如何在我的应用程序中找到前 10 个标签?

ruby-on-rails - gem中未定义的局部变量或方法 `acts_as_taggable'

ruby-on-rails - 如何为 Rails 制作可排序表格插件?

javascript - 将 jQuery 插件添加到 Ruby on Rails 应用程序中

ruby-on-rails - Ruby on Rails : Acts as taggable on gem, 在模型中使用上下文

ruby-on-rails - 两个 ActiveRecord::Relations 的并集