知識ゼロからの 『とほほのRuby on Rails入門』 #3
これはプログラミング初心者がRuby on Railsの勉強をしていく記録です。
◇ この記事で勉強しているサイト
◇ 前回までの記事一覧
チュートリアルの続きから!
ビューを追加する
Controllerにhelpメソッドを追加します。
次にView。
help.html.erbというファイルを新規作成。
中のコードはこんな感じに書きました。
次はconfigというフォルダーを開けます。
このフォルダーを触るのははじめて。
まず開けてみます。
書き足した後がこれ ↓
書き足した部分は「/helpのURLにgetメソッドでアクセスしたら、home_controllerのhelpメソッドを呼び出すという命令」とのこと。
ブラウザで行われた操作をControllerに伝えるためにこのroutesというのが必要なのかなと推測しています。
routesやgetメソッドで調べてみましたがまだ難しくてよく分かりませんでした(ーー;)
もっと進めば分かるかもしれないので、ひとまず先に進めます。
ブラウザで確認。
まずはホーム画面。
helpのリンクを押します。
おお!出ました!
webページっぽくなってきました!
「戻る」を押すとMy Applicationに戻るのかなと思いましたが、
これはURLに「http://localhost:3000/」と入力した時の画面です。
そういえば「戻る」に貼ったリンクは<a href=“/“>でしたもんね。
試しに<a href=“/home/index>にしたらMy Applicationに戻るようになりました。
ルートページを設定する
routes.rbに下記を追加すると、ルート(/)へのアクセスでもhome_controllerのindexメソッドを呼び出すようになるそうです。
これでhttp://localhost:3000/にアクセスしてもMy Applicationのページが表示されるようになるとのこと。
あれ?さっきの <a href=“/“> って変えなくてよかったんだ。
そそくさと元に戻しました。
routesへの記述について、まとめるとこんなイメージですかね ↓
getメソッドについては
get ‘パス’, to: ‘コントローラ名#アクション名’
のような書き方が基本形だけど、
パス=コントローラ名/アクション名の時は
get ‘パス’
ように省略もできるようです。
rootメソッドについては
root to: ‘コントローラ名#アクション名’
が基本形だけどto:は省略も出来るようです。
rootとは「根っこ」という意味で、今使っているURLだと「http://localhost:3000/」みたいに、URLの根っこになる部分を指すみたいです。
なのでrootメソッドでは、getメソッドみたいに’/help’とURLの後半の部分を指定することはできず、’/‘のページに何を出すかという事にしか使わないみたいです。
↓ 参照
今のところroutesのイメージはこんな感じ
↓ 参照
なんとなくわかってきた気がします。
今回はここまで!
続きも頑張ります!