2013-09-24 36 views
1

文件结构:未定义轨道4中模块的方法?

../controllers 
    /api 
     /v1 
     users_controller.rb 
    some_controller.rb 

内users_controller.rb

module Api 
    module V1 
    class UsersController < ApplicationController 
     def create 
     return false 
     end 
    end 
    end 
end 

我可以包括一个控制器阿比做阿比:: V1 :: UsersController。然而,当我尝试

阿比:: V1 :: UsersController.create

任何控制器我得到一个错误:

undefined method `create' for Api::V1::UsersController:Class 

我试着做在LIB模块,但钢轨4自动加载是奇怪的,所以我尝试这样做,但我不知道为什么我的方法是未定义的。当我进入控制台并放入Api :: V1 :: UsersController.methods.sort时,:create方法不存在。那么我做错了什么?

+0

您有该文件夹的名称申报类名:'类的API :: V1 :: UsersController MrYoshiji

回答

1

create不是类方法。它不能被称为Class.method

你需要这个类的一个实例来调用它。

如果你只是想尝试(尽管这是没有办法的办法控制器工作)

Api::V1::UsersController.new.create 
相关问题