2016-08-02 14 views
0

Ich begann mit einem Standardprojekt Ruby on Rails (Version 4), das ich dann die Grape Gem hinzugefügt, um eine API zu bauen. Der RoR-Teil fungiert als webbasierte Verwaltungsfront für die API.Grape API und Ruby on Rails App auf Heroku

sehen Meine config.ru Dateien wie folgen aus:

run Rails.application 
run MyAPI::API 

Dies funktioniert vor Ort in Ordnung, wenn die Ziegel Web-Server verwenden, aber wenn ich zu Heroku Push funktioniert nur die erste in der Liste. Ich schätze, das liegt daran, dass Heroku nur einen Prozess erlaubt, während ich lokal so viele haben kann, wie ich möchte. Auf welche Weise könnte ich sowohl die RoR-App als auch die API zusammenarbeiten lassen?

Ich hoffe, ich habe genug Informationen enthalten. Vielen Dank, David.

Antwort

0

Vielleicht evaluiert der Webserver, den Sie bei heroku verwenden, Ihre config.ru nicht. Sie können Ihre API über routes.rb in Rails einfügen. Fügen Sie einen Eintrag wie

mount MyAPI::API => '/' 

Auch müssen Sie sicherstellen, dass innerhalb der application.rb Ihre App wie diese geladen ist:

config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb') 
config.autoload_paths += Dir[Rails.root.join('app', 'api', '*')]