为Grape API添加路径/自动加载路径不起作用

时间:2013-06-15 18:40:15

标签: ruby-on-rails ruby ruby-on-rails-3 grape grape-api

我正在使用Grape构建我的API,并根据文档,我将以下行添加到application.rb so that all app / api` ruby​​脚本添加到路径中,以及允许自动重新加载以进行开发模式:

config.paths.add "app/api", :glob => "**/*.rb"
config.autoload_paths += Dir["#{Rails.root}/app/api/*"]

我还要求在config / initializers中添加一段代码。但是,自动重载和路径都不能正常工作。

对于路径,我需要在我正在使用的主API文件中使用require显式添加所有内容(我将Grape文件分隔为app/api下的文件+目录。如果我删除了require ,我明白了:

NoMethodError    
undefined method `call' for V1:Module

自动重装根本不起作用。当我改变某些东西时它不会自动重新加载。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

如果将api拆分为多个文件,则需要安装该部分。见documentation for modules

  

这些不必是不同的版本,但可能是其中的组成部分   相同的API。

class APP::API < Grape::API
  mount APP::Groups
  mount APP::Users
end