3

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

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

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

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

NoMethodError    
undefined method `call' for V1:Module

自动重新加载也根本不起作用。当我更改某些内容时,它不会自动重新加载。

我在这里想念什么?

4

1 回答 1

0

如果将 api 拆分为许多文件,则需要挂载这些部分。请参阅模块文档

这些不必是不同的版本,但可以是相同 API 的组件。

class APP::API < Grape::API
  mount APP::Groups
  mount APP::Users
end
于 2014-06-25T08:05:23.657 回答