* 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]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS