データベースに慣れよう!Ruby on Railsでmodelの使い方【初心者向け】
初心者向けにRuby on Railsで使うmodelの使い方を解説しています。データベースとのやりとりを行うのに必要なコマンドが多いのでしっかり覚えておきましょう。データベースの理解はサーバーサイドにおいて重要です。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
modelとは、Rubyのフレームワークrailsのデータベースとのやりとりを行うために用意されているものです。今回はそのmodelをrails内で作成する方法、実際に使用する方法について解説していきたいと思います。
なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。
田島メンター!!モデルというのは何ですか~?
モデルはデータベースとやりとりを行うためのもので、ユーザーからのリクエストがデータに関するものだった場合に必要になるんだ。
データベースから値を取得したり格納したりするときに、モデルを経由するってことでしょうか?
そんな感じだね。では実際に、モデルを作成する手順を見ていこう。
modelの作成方法
rails generate model モデル名
とするとモデルを作成する事が出来ます。また、generateは省略して以下のように、
rails g model モデル名
としても作成する事ができます。それでは今回はUserというmodelを作成してみましょう。
rails g model User
とターミナルに打ち込み、以下のような画面が表示されたら、モデルの作成は成功です。
Running via Spring preloader in process 33795 invoke active_record create db/migrate/20160403032828_create_users.rb create app/models/user.rb invoke test_unit create test/models/user_test.rb create test/fixtures/users.yml
また modelを作成する際はUser,Text,Postのように、1文字目を大文字にするようにしてください。
その後、modelをデータベースに適用させるために以下のコマンドを打ち込んでください。
bundle exec rake db:migrate
モデルを作成するときの名前に関する注意点として、「アルファベット大文字から」「単数形にする」の2つがあるね。
“Users”じゃなくて”User”にするってことですね。
次はモデルに要素を追加してみよう。
modelへの要素の追加
それではmodelに要素を追加していきましょう。
先ほど作成したUserモデルにnameという要素を追加します。以下のコマンドをターミナルに打ち込んでださい。
rails g migration add_name_to_users name:string
以下のように表示されれば成功です。
rails g migration add_name_to_users name:string Running via Spring preloader in process 34107 invoke active_record create db/migrate/20160403034050_add_name_to_users.rb
これでuserモデル内にnameという要素が追加されました。
今回はmodelについて簡単に解説していきました。modelは今後Railsでアプリを作るにあたって何度も作成するのでしっかりと抑えておきましょう。
カラムを追加するときは”名前:データ型”というような形で入力するよ。
今回の場合、nameと言う名前のstring、短い文字列型の項目ができたってことですね。
そうだね。また、モデルを作成した際にマイグレーションというものも同時に生成されているんだ。これについてはまた別のところで詳しく説明するよ。
分かりました。ありがとうございます!
[お知らせ]TechAcademyでは初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。