我在Heroku上部署了一个rails应用程序。一切都很好。我将代码推送到Heroku master,一切都按预期工作。我也跑了Heroku run rails db:migrate
。没有错误被抛出。我甚至可以运行Heroku run rails console
,并创建对象,没问题。但是,它确实告诉我,我必须输入User.connection,(用户是我现在在应用程序中唯一的模型)。当我输入Heroku config
时,我得到预期的输出。一切似乎都很完美。但是,当我打开应用程序时,它表示找不到该页面:
No webpage was found for the web address: https://my-api.herokuapp.com/
值得一提的是,它是一个rails API,因此,没有视图,也没有根页面。但尽管如此,当我与Postman进行API调用时,我仍然没有得到任何回复。我只是得到了404响应。我至少会想象HTTP请求会起作用,但它们不会。知道为什么吗?
加载应用后,日志会显示
ActionController::RoutingError (No route matches [GET] "/"):
是否意味着没有根路线?我想过一个API,不需要一个?
答案 0 :(得分:0)
ActionController :: RoutingError(没有路由匹配[GET]" /"):
这意味着它指向您的应用并搜索根路由,但如果未在路由文件中定义,则会显示此错误。
对于API模式,仅表示它不会生成与控制器相关的css和coffee文件。
打开应用程序的应用程序链接并找到根路径,如果它找不到,则会发生此错误。 由于您使用的是API模式,因此此错误不会很麻烦。
答案 1 :(得分:0)
检查您的路线。
如果您没有根路由,Heroku可以返回这样的答案。 如果您有任何特定的路线,则可以尝试使用该路线,然后应用程序将运行。
https://my-api.herokuapp.com/return_mystuff