【Rails基礎講座 3】CRUD処理の基本 >
ブログアプリ作成

ブログアプリ作成

blogアプリを作成してみましょう。

吉田先生

RailsではCRUD処理が全ての基本です。

 

Routesファイルに resources :aritcleと追記することでarticlesというモデルにアクセスするRout(ルート/道順)を設定することができます。

resources :aritcleとたった一文追記するだけで本当にアクセスルートが作られているのでしょうか。

$ rake routesで確認しましょう。

resources :aritcleと追記することでaritclesに関連するファイルが作成されているのがわかります。

しかし、ariticlesに関連するファイルが作成されても、コントローラがなければviewファイルやmodelファイルにはアクセスすることができません。

articlesコントローラを作成します。

$ rails g controller articles

コマンド実行前は存在しなかったarticles_controllerが作成されているのがわかります。

これでarticlesに関連するファイルへアクセスできるようになりました。

先ほどの$ rake routesを思い出してください。

新しくarticle(記事)を作成するページのURIは/articles/newだということがわかります。

では新規記事作成用のページへアクセスしてみましょう。

先ほど確認したURIをトップページのURLに追加してアクセスします。

ArticlesControllerにnewというアクション(メソッド)がないよ、というエラーが表示されています。

articles_controllerを確認すると確かに何のアクションも記述されていません。

エラーではnewというアクション(メソッド)がありませんよ、と出ていた為newアクションを追記します。

ブラウザを更新します。

このエラーはコントローラにアクセスしてくるリクエストと、コントローラの中身がかみ合っていない時に発生するエラーです。

Railsではアクション(メソッド)に対応したビューがあり、そのファイルでアクションの内容を表示することになっています。

今回はコントローラ内にはnewメソッドが存在するのに、対応するビューがなかった為上記のエラーが発生しています。

そこで、viewsフォルダ内に、new.html.erbファイルを作成します。

ファイルを作成したら、ブラウザを更新します。

new.html.erbファイル内にはまだ何の記述もない為、ブラウザには何も表示されていませんが、/articles/newというURIへのアクセスは成功しているようです。

今回のポイントはコントローラ内にアクションを作成した場合は、アクション名に対応した(アクション名と同名の)ビューファイルが必要ということです。

今回のarticles_newのページを表示するまでの流れは以下の通りです。

【まとめ】

・routesファイルに

resources :articles

を設定する。

・設定した

resources :articles

に対応した必要なフォルダやファイルが作成される為、その中からコントローラファイルを開く。

・実行したいアクションを記述する※本チャプターでは新規記事作成のnewアクション

・コントローラファイル内のアクション名(newアクション)と同名のビューファイルを作成(viewsフォルダ内にnew.html.erb)。

$ rake rtoutes

コマンドで、new.html.erbを表示する為にURIを確認し、トップページのURLに追加して表示させる。

無料ビデオ講座のお知らせ

Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。

無料講座一覧を見る