2015-09-28 21 views
1

我正在尝试设置RoR API,但是我一路上碰到了一些roadbump。无聊编码后得到我打一个错误,没有引起太大意义,我的数据库设置正确的(我是新来的回报率)无法在API控制器中自动加载常量

Unable to autoload constant Api::V1::SubmissionsController, expected ./app/controllers/api/v1/submissions_controller.rb to define it

我不太清楚这是什么错误手段和我的互联网搜索空着一个明确的答案。我希望你们中的任何一位都能帮助我。

路线

Rails.application.routes.draw do 
namespace :api, :defaults => {:format => :json} do 
    namespace :v1 do 
    get "/submissions", to: "submissions#index" 
    end 
end 
end 

submission.rb

class Submission < ActiveRecord::Base 

end 

submissions_controller.rb

class API::V1::SubmissionsController < ApplicationController 
    def index 
    @submissions = Submission.all 
    render json: @submissions, status: :ok 
    end 
end 
+0

是否'应用程序/控制器/ API/V1/submissions_controller.rb'定义控制器? –

+0

你是什么意思? –

+0

我的意思是该文件中的控制器? –

回答

2

您的文件包含:

class API::V1::SubmissionsController < ApplicationController 

Rails的预计:

class Api::V1::SubmissionsController < ApplicationController 
+0

谢谢你。在红宝石命名约定有什么指南吗? –

+0

@NicolasPierre可能,但一般来说,它是普通的类和模块名称的CamelCasing。 –

+0

好吧,我会查看;) –

0

什么是您的文件夹结构看起来像应用程序/控制器&应用程序/意见?根据这些文件的生成方式,通过“rails generate”或手动创建,如果您使用命名空间,则文件夹结构必须在控制器和视图目录中匹配。

应用程序/控制器/ API/V1 应用/视图/ API/V1

+0

这就是我在评论中所说的。 –

相关问题