Translate

BTemplates.com

Powered by Blogger.

2017年9月2日土曜日

Railsチュートリアル(第四版)に基づいたRails5.0.3+Cloud9でのHerokuへの接続方法


*2017/9/3追記
飽くまで、herokuにデプロイするのが目的です。
その為、databese.ymlの設定は
SQLite3のままになっております。
静的表示をするぐらいなら問題ありませんが、
この状態のままではサーバーを使った動作を行うことは出来ませんので
適切にコードを書き換えてください

Ruby on Rails チュートリアル(第四版)の1.5.2 Herokuにデプロイする (1)
ができなくて、色々試してネットの情報を色々見ました。
見た感想としては私と同じようにHerokuにデプロイできなかった人は
多かったように見えました。

色々試してみたところ、rails new で作ったフォルダの中で
git init や heroku createなどをしてgit push heroku masterをすれば
herokuにプッシュできることを確認しました。

これが本来の手順として正しいのかはわかりませんが
探したときにあまりもこれといった解決方法が見つからなかったので
のせておきます。


以下が作業手順となります

gem install rails -v 5.0.3
rails new hello_app
cd hello_app

gemfileの内容をリンク先のリスト1.4.4の内容に書き換え

application_controller.rbに以下のメソッドを追加
  def hello
    render html: "hello"
  end

config/routes.rbに以下の内容を追加

root "application#hello"

bundle install
この際に以下のようなエラーが出るかもしれませんが
私は面倒だったので、Gemfile.lockを消して解決しました。
Bundler could not find compatible versions for gem "activesupport":

gitの処理をする前に、

rails server -b $IP -p $PORT

を入力してきちんと起動するか確かめてください。
此処でエラーが出ると、この後pushしてもリジェクトされます。


あとは以下のコマンドを入力して
適切な処理をしてください。
なお、:~/workspace/hello_app の場所で
コマンドを入力するようにしてください

git init
git add .
git commit -m "init"
heroku login
heroku keys:add
heroku create
git push heroku master

これで恐らく通るはずです。
上手くいけば、以下のようなメッセージが出るはずです
remote: -----> Launching...
remote:        Released v5
remote:        https://□□□-△△△-××××.herokuapp.com/ deployed to Heroku
remote: 
remote: Verifying deploy... done.
To https://git.heroku.com/□□□-△△△-××××.git
 * [new branch]      master -> master

では、早速開いてみてください。
具体的にはReleased v5の下にあるURLです

ページを開いた際に画面に
Method Not Allowed
と表示される人はおそらく開いているURLが間違っています
間違っているURLはおそらく最後に.gitが付いているはずです。

正しいURLを開けば
hello
と表示されるはずです。

以上となります。
構築お疲れさまでした。

参考サイト
Ruby on Rails チュートリアル(第四版)
[Railsチュートリアル第1章] Herokuにデプロイ出来ない(一番下の回答)
HerokuにデプロイするとMethod Not Allowedが出力される


0 コメント:

コメントを投稿