【发布时间】:2013-09-24 17:33:24
【问题描述】:
文件结构:
../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
我可以在控制器中包含 Api 并执行 Api::V1::UsersController。但是,当我尝试
Api::V1::UsersController.create
在任何控制器中都会出现错误:
undefined method `create' for Api::V1::UsersController:Class
我试过在 lib 中做模块,但是 rails 4 的自动加载很奇怪,所以我尝试这样做,但我不知道为什么我的方法是未定义的。当我进入控制台并输入 Api::V1::UsersController.methods.sort 时,:create 方法不存在。那我做错了什么?
【问题讨论】:
-
你必须用文件夹的名字声明类名:
class Api::V1::UsersController < ApplicationController
标签: ruby-on-rails ruby ruby-on-rails-4