Rails コース

アソシエーションを理解する

これまでプロジェクトの制作を通して基本的なMVC(Model, View, Controller)の概念や、CRUDの実装を学びました。ここから先はデータベースに関する知識を深めていきます。

そもそもデータベースにはさまざまな種類があり、データベースへの命令にはrubyとは別の言語(SQL)が使われています。ただ、Railsの場合はどのデータベースを使ったとしても、Railsで用意されているメソッドなどを使って簡単にデータベースを扱うことができます。これは「Active Record」という機能のおかげで、Railsというフレームワークの大きな強みのひとつと言えます。例えば、これまでの演習でも使ってきた.findも、Active Recordが用意しているメソッドです。本章では、映画の紹介サイトの制作を通してActive Recordについて学んでいきましょう。

まずこれまでのおさらいをしながら、以下に取り組みましょう。
-------------------------------------------------------
1)新たに「Movielog」という名前で、プロジェクトを作成します。データベースは「postgresql」を使用します。
  databaseを指定してrails newするには? データベースとmodelを理解する

2)このプロジェクトでhamlが使えるように設定します。bootstrapも導入しておきましょう。
  hamlの導入方法 hamlを使ってみよう
  bootstrapの導入方法 bootstrapの導入方法

3)home controllerと対応するview(index.html.haml)を作成し、localhost:3000にアクセスしたときにこのページが表示されるようにroutesを設定します。
  root_toの設定方法 root_toを指定しよう

4)データベースにテーブルを作成します。項目は以下の通りです。
   ・worksテーブル(映画作品を登録するためのテーブル)
     タイトル  (カラム名:title、データ型:string) 
     リリース年 (カラム名:release、データ形:string)
     主演    (カラム名:starring、データ型:string)
     説明文   (カラム名:description、データ型:text)
   ・directorsテーブル(映画監督を登録するためのテーブル)
     監督名   (カラム名:name、データ型:string)
     出身国   (カラム名:country、データ型:string)
  migrationファイルとmodelを作成する modelの仕組み

5)それぞれのテーブルを扱うためのmodelを準備します。

6)directorとworkをそれぞれ登録・参照・編集・削除できるようにroutesを設定し、controllerとviewを作成します。部分テンプレートやbefore_actionを活用し、DRYなコードに仕上げてください。
  crudを理解する crudの実装1 crudの実装2
  部分テンプレート・before_action dryなコードにするために
-------------------------------------------------------

データベースにdirectorやworkを登録できましたか?編集や削除もできるかブラウザ上でテストします。
もし曖昧な部分があれば、これまでの演習をおさらいましょう。

この教材はメンバー専用です

メンバー専用の教材にアクセスするには、
ハッカーIDでログインしてください。

or