我从标准的Ruby on Rails(版本4)项目开始,然后我添加了Grape Gem来构建API。 RoR部分充当API的基于Web的管理前端。
我的config.ru文件如下所示:
run Rails.application
run MyAPI::API
这在使用brick web服务器时在本地工作正常,但是当我推送到Heroku时,只有列表中的第一个工作。我猜这是因为Heroku只允许一个进程,而本地我可以拥有尽可能多的进程。有什么方法可以让RoR应用程序和API一起工作?
希望我已经提供了足够的信息。非常感谢, 大卫。
答案 0 :(得分:0)
也许您在heroku使用的网络服务器不会评估您的config.ru。 您可以通过routes.rb在Rails中包含您的API。添加类似
的条目mount MyAPI::API => '/'
此外,你必须确保在application.rb中你的应用程序加载如下:
config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb')
config.autoload_paths += Dir[Rails.root.join('app', 'api', '*')]