2014-04-03 85 views
0

当我在路由中使用命名空间将事物放入文件夹时,出现此错误。当事情(控制器,查看文件等)不在特殊文件夹中时,它工作得很好。 您基本上点击投票来获得要晋升的业务(还有'晋升'和'投票'模型)。我只是想测试Factual API。NameError,未初始化的常量Vote - namespace

执行搜索查询时发生错误。

业务:: Bar.promoted_factual

应用程序/模型/业务/ bar.rb,线111

def promoted_factual params_query, place, query 

    promoted_factual_ids = Vote.promoted_factual_ids params_query, place 
    promoted_factual_ids.reject! { |id| !Vote.find_by_factual_id(id).live_vote? } 

业务:: BarsController#promoted_factual

应用/controllers/business/bars_controller.rb,第81行

def promoted_factual 
    @promoted_factual = Bar.promoted_factual params[:query], params[:place], @query 
    ... 
end 

路线

namespace :business do 

    match 'lsearch' => "bars#lsearch", via: [:get] 
    post 'vote' => 'votes#create', as: :vote 

    resources :bars 

end 
+0

请分享您的routes.rb。 –

+0

我更新了文件 – Absurdim

回答

1

按照错误,NameError, uninitialized constant Vote你没有在app/models文件夹命名为Vote模型。因此,你会得到错误。

同样,如果您有投票类但它位于app/models/business目录,则应该以Business::Vote的身份访问它。例如:promoted_factual应该看起来像:

def promoted_factual params_query, place, query  
    promoted_factual_ids = Business::Vote.promoted_factual_ids params_query, place 
    promoted_factual_ids.reject! { |id| !Business::Vote.find_by_factual_id(id).live_vote? }  
end 
相关问题