モデルの作成

モデルの作成

すでにWebアプリらしきことができそうになってきたと思います。が!、いろいろな値を出力することができても、ブラウザからの入力はできませんし、大量のデータ処理もこのままだと大変ですね。そこで、MVCモデルのModelを作成し、Webアプリらしくしていきましょう。

rails g model nickname name:string nickname:string comment:text
rake db:migrate

文字列「name」、文字列「nickname」、テキスト「コメント」というプロパティを持つ モデル「nickname」を作成という意味です。 次の行は、データベースにその構造を適用するコマンドで、 マイグレーションファイルdb/migrate_2015?????????_create_nicknames.rb にどのように適用するかがrubyで書かれており、その内容が適用されています。

モデルにデータを入れてみよう

データを直接書き込むには、db/seeds.rbに下記のように記述する

@nickname = Nickname.new
@nickname.name ='吉野川'
@nickname.nickname ='四国三郎'
@nickname.comment = '徳島といえば、吉野川だよねぇ'
@nickname.save

@nickname = Nickname.new
@nickname.name ='四国大学'
@nickname.nickname ='しこだい'
@nickname.comment = 'でいいのか?'
@nickname.save

そして下記のコマンドで実際にデータベースに書き込まれます。

rake db:seed

データ閲覧

Controller、Viewの調整

Controller、Viewを調整し、モデルのデータを見てみましょう。

まず、app/controllers/nicknames_controller.rbに

def show
  @nicknames = Nickname.all
end

と、showの部分にモデルのデータをハッシュに入れる。

次に、app/views/nicknames/show.html.erbに

<h1>ニックネーム一覧</h1>
<% @nicknames.each do |nickname| %>
  <h2><%= nickname.name %></h2>
  <p>本名:<%= nickname.nickname %></p>
  <p>コメント:<%= nickname.comment %></p>
<% end %>

と記載する。これは、ハッシュnicknameのデータを順に表示することを表しています。

データ閲覧

では、ここでrails sで起動し、ブラウザで動作を確認してみましょう。

ここまでの保存

git add .
git commit -m "Model was applied."