未初始化的常量ActsAsTaggableOn

时间:2015-04-17 22:25:06

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

我正在尝试在我的应用中创建一个菜单,为我的地方模型的每个类别显示一个链接。

我实现它但只在第一次访问我的应用程序时才有效,之后我收到此错误

Application#index中的NameError

未初始化的常量ActsAsTaggableOn :: Category

Extracted source (around line #9):
7
8
9
10
11
12

    @places = Place.all
    @states = State.all
    @categories = ActsAsTaggableOn::Category.all


  end

如果我重新启动我的rails服务器,我的菜单会再次运行fisrt时间,这会出错。

我的ApplicationController

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  def index
    @places = Place.all
    @states = State.all
    @categories = ActsAsTaggableOn::Category.all
  end
end

我的地方

class Place < ActiveRecord::Base
  validates_presence_of :name , :state, :city, :neighborhood, :adress,:latitude, :longitude
  belongs_to :user

  acts_as_ordered_taggable_on :categories, :obstacles
end

Index.erb菜单代码

    <% categories.each do |category| %>  

    <li><a href="#"><i class="fa fa-cutlery"></i><%= category.name%>      <span>32</span></a></li>

   <%end %>

1 个答案:

答案 0 :(得分:0)

我认为您需要执行以下操作,而不是@categories = ActsAsTaggableOn::Category.all

    @categories = @places.map(&:categories)