当我在路由中使用命名空间将东西放入文件夹时出现错误。当事物(控制器,视图文件等)不在特殊文件夹中时,它可以正常工作。 您基本上点击投票以获得晋升业务(还有'促销'和'投票'模型)。我只想测试Factual API。
执行搜索查询时发生错误。
商业:: Bar.promoted_factual
app / models / business / 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
app / 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 :(得分:1)
根据错误NameError, uninitialized constant Vote
,您在Vote
文件夹中没有名为app/models
的模型。因此,你得到了错误。
同样,如果您有投票类但它位于app/models/business
目录,那么您应该以{{1}}的形式访问它。例如:Business::Vote
应如下所示:
promoted_factual