Ruby on Railsでブログ作成(7) - モデルの作成

プログラミング、サーバー、ネットワーク、IT用語、ハマったときのトラブルシューティングなど様々なIT関連の話題をひたすら書いていく技術ブログです。

2017年2月23日木曜日

Ruby on Railsでブログ作成(7) - モデルの作成


前回の続きで今度はarticleモデルを作成しましょう。


articlesテーブルを操作するモデルを作成する

article.rb(モデル)を作成しましょう。モデル作成のコマンドもありますが、ここでは手動で作成します。

まずapp/modelsディレクトリ配下にarticle.rbというファイルを作成しましょう。そしてそのarticle.rbに以下のように記述します。

class Article < ActiveRecord::Base end モデルの命名規則とデータベースの命名規則を守りながらとモデルを作成すると、モデルはそのデータベースに対してデータを挿入したり、取り出したりするgetterやsetterのような機能を持ちます。実際にターミナルでrails consoleと打って試してみましょう。rails consoleはちょっと動作確認したい時などにコンソール上で試せるので便利です。

article = Article.newとすると全てのデータがnilのオブジェクトができます。


ここでtitleカラムに「これは最初の記事です。」と入力してみましょう。記述方法は下記のようになります。

article.title = "これは最初の記事です。"

そしてarticleとターミナルで打ってみましょう。そうするとtitleに"これは最初の記事です。"と入ったオブジェクトが表示されると思います。その次に

article.description = "これは最初の記事のdescriptionです。"

とします。これまでの流れは以下の通りです。


そして最後にsaveをします。

article.save

下記のようにデータがデータベースにinsertされたのがSQLから分かります。

確認のためArticle.allと打ってみましょう。データベースに入っているデータの全てが取得できます。Article.allのArticleはモデルを指しています。確認できたら今度はnewと同時にデータも設定しましょう。

article = Article.new(title: "これは2つめの記事です。", description: "これは2つ目の記事のdescriptionです。")
article.save
Article.all

とすると、データベースに2つ目のデータが挿入されることが確認できます。

もう一つメソッドを確認しましょう。上記ではArticleモデルをnewしてsaveしてきました。しかし、createメソッドを使うと直接データベースにアクセスします。

Article.create(title: "これは3つめの記事です。", description: "これは3つ目の記事のdescriptionです。")

下記のようにsaveをしなくても、SQLが実行されてデータベースにデータが挿入されます。Article.allで確認しましょう。

命名規則を守ってモデルとテーブルを作成するとモデルを通して簡単にデータベースにアクセスできるようになります。

◯「Ruby on Railsでブログ作成(8) - rails consoleでデータの編集、削除、制約を確認する」の記事はこちら
◯「Ruby on Railsでブログ作成」シリーズの記事一覧はこちら



最近の投稿