Railsガイドに従って、アプリケーションを実装してみる。
Railsでよく出てくる用語
- コントローラ:アプリケーションに対するリクエストを受け取って処理する
- ルーティング:リクエストを割り振るコントローラを決める
- ビュー:情報をユーザーが読める形式で表示する
コントローラを生成する
早速コントローラを生成してみる。
以前に作成したsample_appに、HelloCatsというコントローラの中にindexというアクションを作成するコマンドはコレ。
rails generate controller HelloCats index
いくつかファイルが自動で生成される。
ルーティングファイルを変更する
先ほど生成したindexビューを、http://localhost:3000 にアクセスしたときに表示されるホームページとして設定する。
config\routes.rbは、生成直後は下記のようになっている。
ここに、root 'hello_cats#index' を追記する。
root は、アプリケーションのルートURLへのアクセスを、hello_catsコントローラのindexアクションに割り当てるという意味になる。
get は、http://localhost:3000/hello_cats/index というリクエストを、hello_catsコントローラのindexアクションに割り当てるという意味になる。※getはコントローラ生成時に自動で記述されている。
Rails.application.routes.draw do get 'hello_cats/index' root 'hello_cats#index' end
ルーティングの設定が完了したので、表示させてみる。
後でやること:
/がパスで#がアクションの件を追記しておく(AWSフルコース第4回のスレッドに記載の内容)
ビューを変更してホームページの内容を変更する
コントローラ生成時のビュー(app\views\hello_cats\index.html.erb)の中身を消して、下記のように変更
<h1>HelloCats</h1> <p>ネコのブログ</p>
画像の追加
Railsの画像表示はちょっと特殊。画像の保存先フォルダを正しく指定しても表示されない。
画像は、app\assets\imagesの下に入れて、パスは、/assets/画像ファイル名 にすると表示される。
<h1>HelloCats</h1> <p>ネコのブログ</p> <img src="/assets/Shima.png">