无法在rails 3.2.3中加载这样的文件 - lib / api grape

时间:2012-07-03 10:06:48

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

我正在尝试在我的rails 3.2.3 app中运行 grape gem

我正在学习本教程:

http://martinciu.com/2011/01/mounting-grape-api-inside-rails-application.html

但是我收到了这个错误:

cannot load such file -- lib/api

我在config.autoload_paths += %W(#{config.root}/lib)文件中添加了application.rb

此外,我已将require "lib/api"添加到我的routes.rb文件

缺少什么?

1 个答案:

答案 0 :(得分:3)

问题得到解决。

如果您是新手,本教程http://martinciu.com/2011/01/mounting-grape-api-inside-rails-application.html会产生误导。

例如, lib文件夹中的文件名和模块名称应该在ruby中匹配,所以如果你有MyApp,它应该在{{ 1}}它应该在加载路径上。

正确的方法是:

lib/my_app.rb

您必须在#lib/my_app.rb module MyApp class API < Grape::API prefix "api" resource "posts" do get do Post.all end get ':id' do Post.find(params[:id]) end end end end 下添加自动加载:

config/application.rb

最后,您必须将其添加到 routes.rb 文件中:

mount MyApp :: API =&gt; “/”

感谢Daniel Doubrovkine