【发布时间】:2012-10-04 20:02:51
【问题描述】:
注意:我花了一个上午仔细检查了关于这个主题的类似问题,但没有帮助。
我的问题
我正在关注 Michael Hartl 的 Ruby-on-Rails 教程。第一个演示应用程序运行良好。它显示“Welcome Aboard”,当我添加 /users 时,它会运行演示应用程序。 我将它推送到 Heroku,它在那里运行,但只显示 Welcome Aboard 页面。添加 /users 得到“您要查找的页面不存在。”。我没有改变任何路线。看来我现在应该可以在 Heroku 上查看我的演示应用程序了。我很惊讶,因为教程非常详尽。
进一步的实验
我删除了public/index.html。并将其从 git 中删除并提交并使用git status 进行验证。当我尝试打开 localhost/3000 时,我得到了预期的“路由错误”。当我添加 /users 时,演示应用程序按预期工作。我没有更改 routes.rb。教程中没有指示我这样做。
现在我推送到 Heroku 并在那里打开我的应用程序,我现在得到“您要查找的页面不存在”。这似乎是对的。就好像我在本地运行时打开了localhost/3000一样。
但是当我在 Heroku 添加 '/users' 时,我仍然会收到页面错误。
我需要添加路线吗?这在教程中没有提到(或者我忽略了一些东西)。
感谢这位 Rails 新手的帮助。
更多信息
我确实添加了一个指向users/index 的路由,这使得我的本地主机版本直接对应用程序开放,而无需手动将users 添加到URL 上。但是当完全提交并推送到 heroku 时,我仍然会收到页面错误。
这是 rake 路由的输出:
~/Documents/demo_app: rake routes
users GET /users(.:format) users#index
POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy
root users#index
【问题讨论】:
-
我犯的一个错误是忘记运行“heroku run rake db:migrate”
-
你能在你的终端上
rake routes告诉我们你得到了什么吗? -
我刚刚运行了上面给出的 rake migrate 命令,但仍然出现寻呼机错误。我还添加了一条在本地工作的路由,可以直接访问用户,而无需在 URL 中添加“/users”。这是 rake 路由的输出(我使用了“Answer”,因此格式正确)
-
其实我把它加到我上面的问题里了。
标签: ruby-on-rails