注:私は午前中、このテーマに関する同様の質問を注意深くチェックしましたが、役に立ちませんでした。
私の質問
私はMichaelHartlのRuby-on-Railsチュートリアルに従っています。最初のデモアプリはうまく動作します。「WelcomeAboard」と表示され、/ usersを追加すると、デモアプリが実行されます。Herokuにプッシュすると、そこで実行されますが、WelcomeAboardページのみが表示されます。/usersを追加すると、「探していたページは存在しません。」というメッセージが表示されます。ルートは変更しませんでした。この時点で、Herokuでデモアプリを表示できるはずです。チュートリアルが非常に徹底しているので、私は驚いています。
さらなる実験
削除しpublic/index.html
ました。そしてそれをgitから削除してコミットし、で検証しましgit status
た。開こうとするとlocalhost/3000
、期待どおりに「ルーティングエラー」が発生します。/ usersを追加すると、デモアプリは期待どおりに機能します。私はroutes.rbを変更しませんでした。チュートリアルでは指示されていません。
ここで、Herokuにプッシュしてアプリケーションを開くと、「探していたページが存在しません」というメッセージが表示されます。そうです。localhost/3000
ローカルで実行しているときに開いたのと同じです。しかし、Herokuで「/ users」を追加しても、ページエラーが発生します。ルートを追加する必要がありますか?これはチュートリアルでは言及されていません(または私が何かを見落としていました)。
Railsのこの初心者の助けに感謝します。
より詳しい情報
URLusers/index
に手動で追加しなくても、ローカルホストバージョンをアプリケーションに対して直接開くことができるポイントへのルートを追加しました。users
しかし、完全にコミットしてherokuにプッシュすると、ページエラーが発生します。
レーキルートからの出力は次のとおりです。
~/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