モデルの作成
モデルの作成
すでに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."