質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Model

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

1711閲覧

rails tutorial の第2章について質問があります。

ksyunnnn

総合スコア60

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Model

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2016/08/27 03:39

###前提・質問
RailsTutorialを利用し、Railsを勉強しています。
http://railstutorial.jp/chapters/toy_app?version=4.2#cha-a_toy_app

現在、下記コマンドを利用しモデルを作成したところです。

rails generate scaffold User name:string email:string bundle exec rake db:migrate

MVC
RailsTutorialの「2.2.2 MVCの挙動」という章でControllerがModelを介してDBへアクセスする図があり、構造の意味は理解できるのですが
実際にmodels/user.rbを確認したところ

Ruby

1class User < ActiveRecord::Base 2end

特に中身がないようでした。実際このファイルはなんのために生成されているのでしょうか?

###実現したいこと

MVCの概念とそれぞれの役割が理解したいです。

必要な他の情報があれば教えて下さい。
よろしくお願いいたしますmm

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

実は、ActiveRecord::Base自体がものすごくパワフルなクラスで、継承するだけで

  • 継承したクラス名を見て、データベースの適切なテーブルと紐付ける
  • データベースの定義を参照して、データ列を用意する

などのことを全自動でやってくれます。バリデーションやコールバック、他モデルとのアソシエーションなど、特に設定する必要がなければ、中身は何も書かなくてもモデルとして動作します。

投稿2016/08/27 05:21

編集2016/08/27 05:21
maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ksyunnnn

2016/08/28 14:39

的確な回答をいただきありがとうございます。 確かに、そもそも継承している ActiveRecord::Base については調べていませんでした。中身を書かなくても動作するんですね、、。 わかりやすい説明をいただき、本当に助かりました。ありがとうございます。
guest

0

ベストアンサー

6章とかで出てくると思います。

Railsでは、データモデルで使用するデフォルトのデータ構造のことをモデルと呼びます (1.3.3で言うMVCのMのことです)。Railsでは、データを永続化するデフォルトの解決策として、データベースを使用してデータを長期間保存します。また、データベースとやりとりするデフォルトのRailsライブラリはActive Recordと呼ばれます1。Active Recordは、...

2章の冒頭に

このToyアプリケーションはもちろん動きますが完成品ではなく、しかも多くの手順が「魔法」のように思えるかもしれません。第3章以降で作成するサンプルアプリケーションでは同等の機能を1つ1つ手動で作成しますので、ご安心ください。その分時間がかかることになりますが、どうか最後まで本書にお付き合いいただければと思います。本書の目的は、scaffoldを使用した即席のアプローチによる表面的な理解ではなく、そこを突破してRailsを深いレベルまで理解することにあります。

とあるように、3章からが本番です。

私は理解してから先に進みたくなるタイプなので気持ちはわかりますが、まずは読み進めてみてはどうでしょう。

投稿2016/08/27 04:03

編集2016/08/27 04:04
flied_onion

総合スコア2604

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ksyunnnn

2016/08/28 14:36

包括的な視点での回答をいただきありがとうございます。 ご指摘の通り、気になるとことをすぐに解決したくなる質で、思わず質問してしまいました。 まずは進めてみようと思います。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問