我正在尝试在我的应用中创建一个菜单,为我的地方模型的每个类别显示一个链接。
我实现它但只在第一次访问我的应用程序时才有效,之后我收到此错误
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 %>
答案 0 :(得分:0)
我认为您需要执行以下操作,而不是@categories = ActsAsTaggableOn::Category.all
:
@categories = @places.map(&:categories)