- 追加された行はこの色です。
- 削除された行はこの色です。
* Ruby on Railsの基礎 [#w16c5195]
#contents
** 概要 [#h9d69081]
** MVCモデル [#keacb9b1]
MVCとは、次のように分離したプログラミングモデルのことである。
MVCとは、次のようにモジュールに分離したプログラミングモデルのことである。
- Model
- Modelモジュール
-- データベースなどを用いてデータを扱う
-- データ構造を扱う
- View
-- つまり、データ構造を扱う
-- データの整合性やバリデーションを行い、データモデルを隠蔽する
- Viewモジュール
-- データを見れるようにする
-- Modelの内容を表示形式に変換する
- Controller
-- ユーザがControllerにアクセスできるように、リンクやフォームなどを提供する
- Controllerモジュール
-- ロジックを制御する
-- Viewが必要とするデータをModelから持ってくる
-- Viewに入力されたデータでModelを書き換える
*** 動作の流れ [#i77ca79f]
ユーザは、最初に何らかの手段で(お気に入りとか)、Controllerにアクセスし、Controllerが返すViewから、次のControllerにアクセスし…という流れを繰り返して動作する。
ようするに、ControllerがViewを返し、そのViewを使ってControllerにアクセスする、の繰り返しである。
** Model [#a4c08c7b]
Ruby on Railsでは、データベース上でSQLを発行してテーブルを作れば、それでモデルの定義は完了する。
あとは、Ruby on RailsがO/Rマップしてくれるので、特に気にする必要はない。
クラスを用意するくらいで、中身について詳しく書く必要はあまりない。
** View [#q5afc8c8]
*** フォルダ位置とファイル名 [#ac752afc]
ビューは、views/[コントローラ名]/[アクション名].rhtmlとする必要がある。これにより、Controllerでいちいちビューを指定したりせずに済む。
*** RHTML [#m87aa34b]
Ruby on Railsでは、ビューを定義するために、RHTMLというHTML風テンプレート書式を用いる。
RHTMLでデータの挿入を指示すると、そのデータの定義に従って、適切な方法で表示や編集のためのHTMLが生成される。
** Controller [#nff35914]
*** アクションの定義 [#zad63952]
アクションの定義は、クラスのメソッドとして定義する。
*** アクションがすべきこと [#a9a3b2e5]
アクションでは、ビューが必要とするデータをモデルから引っ張ってきたり、逆に、ビューに入力されたデータでモデルを書き換える。
*** scaffold [#x47a2b2a]
Controller内のクラス定義部分に、次のようなことを書くと、Modelの操作画面が自動で生成される。
scaffold :[Model名]
この時、new・edit・show・destroyというアクションが使用される模様。
よって、scaffoldより後の行でアクションを再定義してしまうと、scaffold標準機能が使えなくなる。逆に、わざと再定義することで、一部動作を変更したりできそうだ。
** 参考リンク [#n1782ffc]
- [[公式チュートリアル>http://www.rubyonrails.org/show/Tutorial]]