padrinoでアプリケーション開発 4 : アプリケーションをブラウザで表示

前回は、padrino のプロジェクトを作成しました。
今回は、ようやくブラウザでアプリケーションを表示します。

アプリケーションを起動する

まず、受け口を作成します。
app/app.rb に下記を追記します。

  get '/' do
    "Hello World!"
  end

アプリケーションの起動は次のコマンドで行います。

$ bundle exec padrino start

起動を確認するため、ブラウザで確認します。
padrino はデフォルトでは3000番ポートで起動するので、
vagrant でポートフォワーディング設定した 3006番ポートでアクセスします。

http://localhost:3006

実は表示されません。
外部からのアクセスができるように、ホストを0.0.0.0に設定します。

$ bundle exec padrino start -h 0.0.0.0

これで、画面が表示されるはずです。

ホストオプションを設定してもエラーがでる場合は、まず正常に padrino が起動しているか確認するため、
vagrant に別にもう一つsshログインして、curl または wget を試してみましょう。

$ curl http://localhost:3000
Hello World!

$ wget http://localhost:3000
--2016-11-20 11:14:45--  http://localhost:3000/
localhost をDNSに問いあわせています... ::1, 127.0.0.1
localhost|::1|:3000 に接続しています... 失敗しました: 接続を拒否されました.
localhost|127.0.0.1|:3000 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12 [text/html]
`index.html' に保存中

100%[======================================================================================================================================================================>] 12          --.-K/s 時間 0s

2016-11-20 11:14:45 (878 KB/s) - `index.html' へ保存完了 [12/12]

$ cat index.html
Hello World!

400系や500系のエラーが返ってくるようであれば、app/app.rb への記載が誤っている可能性があります。
確認してみてください。

undefined method `get' for App:Module エラー

$ bundle exec padrino start
  ERROR -  NoMethodError - undefined method `get' for App:Module
Did you mean?  gets
               gem:
 /vagrant/yuru/app/app/app.rb:68:in `'
=> Padrino/0.13.2 has taken the stage development at http://127.0.0.1:3000
[2016-11-20 10:49:08] INFO  WEBrick 1.3.1
[2016-11-20 10:49:08] INFO  ruby 2.3.0 (2015-12-25) [x86_64-linux]
[2016-11-20 10:49:08] INFO  WEBrick::HTTPServer#start: pid=32305 port=3000

どこにも出てなくてちょっと困った。
プロジェクトの名前を app にしていると発生する。
違う名前を設定しましょう。

次の記事
padrinoでアプリケーション開発 5 : コントローラの作成とルーティング

padrinoでアプリケーション開発

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク