4

嗨,我正在使用 intridea 的葡萄在红宝石中开发一个简单的 api。假设我们有这个:

class API_v1 < Grape::API
  resource :foo do
  end

  resource :bar do
  end

end

我怎样才能使它的声明:foo:bar在单独的文件中?基本上,我想知道是否有可能有类似于 rails 控制器的东西,其中有多个文件来组织代码。

我希望有人可以让我了解如何实现这一目标。

4

2 回答 2

8

Ruby 有开放类,因此您应该能够简单地将它们移动到单独的文件中。

# foo.rb
class API_v1 < Grape::API
  resource :foo do
  end
end

# bar.rb
class API_v1 < Grape::API
  resource :bar do
  end
end
于 2012-07-20T10:50:38.213 回答
8

自述文件建议您使用mount

class Foo < Grape::API
  resource :foo ... 
end

class Bar < Grape::API
  resource :bar ... 
end

class API < Grape::API
  mount Foo
  mount Bar
end
于 2013-11-22T22:21:11.963 回答