#主な内容
#03 MVCとは何か?
Ruby on RailsはMVCフレームワークですよ
MVCはこんなものですよ
###MVC
Model: データに関するいろいろ
View: 見た目に関するいろいろ
Controller: ModelとViewをとりもつもの
#Ruby on Railsとは
詳しくみてみる。
Rubyを元に作られたMVCフレームワークで、Webアプリケーション(Webサービス)を効率的に開発するために揃えられたライブラリとツールのセットです。
そして、 RubyとRuby on Railsは違うものだ! ということは当然のこととして理解しておくべきです。
Rubyは「言語」 、 **Ruby on Railsは「フレームワーク」**ですね。
ごっちゃにして話ていると恥ずかしいですね。
MVCフレームワーク
順に追ってみます。
##・フレームワークとは
フレームワークとは直訳すると「枠組み」のことで、開発の世界では「ある特定種類のシステム(サービス)が最低限動作する枠組みとその動作や開発の際に頻繁に必要とされる汎用的な機能を提供するソフトウェア」のことです。アプリケーションの土台ですね。
##・MVCとは
以下の3つのに分割して設計・実装するという技法、またはそのような構造、またはそのような概念のこと。
###- Model
アプリケーションで扱うデータに関する規約を記述します。
その規約に準じてModelがデータベースからデータを持ってきます。
Modelはあくまでも **「データの規約を扱うだけ」**です。
###- View
ユーザーインターフェースを生成するコードを記述します。
Controllerが操作したデータを表示するコードを記述します。
Viewはあくまでも **「表示するだけ」**です。
###- Controller
処理のメインコード的なものです。
Viewからユーザーの操作や入力を受け取り、
その 操作や入力に応じてModelやViewを選択し、
Modelから受け取ったデータを目的の形に整形し、
Viewに渡す。
といった流れです。
Controllerはなるべく 簡潔に、少ない量にすることが望ましいです。そのためにはヘルパーやライブラリを多分に使用して書くことが重要です。(だからといって、ViewやModelにControllerに書くべき処理を書くというのはよろしくないです。だからこそのヘルパーやライブラリですね。)
####- ん?ヘルパー とか ライブラリ ってなに???
ヘルパー とは 複数のコントローラで共通して使う機能を書く 場所
ライブラリ とは 一度しか使わない機能を書く 場所
以上のModel, View, Controllerの頭文字をもじってMVCですね。
###・で、MVCフレームワークとは?
このMVCという概念を使ったある特定種類のシステム(サービス)が最低限動作する枠組みとその動作や開発の際に頻繁に必要とされる汎用的な機能を提供するソフトウェアのことです。
Railsだけでなく、FuelPHPなどの他のフレームワークにも採用されています。
##2-2-3 Ruby on Railsのまとめ
Rubyで動くMVCフレームワークです。
さらに言えば、Rubyで動くMVCという概念を使ったWEBアプリケーション(WEBサービス)が最低限動作する枠組みとその動作や開発の際に頻繁に必要とされる汎用的な機能を提供するソフトウェアのことです。
#メモ一覧
#01 Ruby on Railsとは何か?
#02 必要となるツールを揃えよう
- Ruby on Railsはこんなものですよ
- 必要な情報はここら辺で集まりますよ
- 必要な知識にはこんなものがありますよ
- 開発環境はこんな感じですよ
- Ruby on RailsはMVCフレームワークですよ
- MVCはこんなものですよ
#04 はじめてのRailsプロジェクト
#05 ファイル構成をみていこう
アプリケーションを作成する基本的な流れを覚えましょう#06 Webサーバーを立ち上げよう
作成したWebアプリケーションをどうささせてみましょう#07 scaffoldを使ってみよう (1)
#08 scaffoldを使ってみよう (2)
DB、Model、View、Controllerの作成、URLの設定をしてみましょう
#09 ブログシステムを作ろう
#10 新しいプロジェクトを作ろう
#11 Postモデルを作ろう
#12 Postsコントローラーを作ろう
#13 ルーティングの設定をしよう
Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)
プロジェクト、Model、Controllerを作成し、ルーティングの設定をしよう
#14 デバッグに使えるコンソールについて
#15 コントローラーのメソッドについて
#16 記事の一覧を表示する (1)
#17 記事の一覧を表示する (2)
#18 リンクを貼ってみよう
#19 HTMLテンプレートを変更しよう
#20 ロゴ画像を表示させてみよう
#21 記事一覧画面をrootにしてみようScaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)
rails console
とか、rails dbconsole
なんかの便利なツールがありますよ
コントローラーのメソッドと、それに対応するViewを作っていきましょうScaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(まずは1つ)
#22 記事の詳細を表示する (1)
#23 記事の詳細を表示する (2)Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)
- コントローラーのメソッドと、それに対応するViewを作っていきましょう(続き)
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(続き - show)
#24 新しい記事を追加しよう (1)
#25 新しい記事を追加しよう (2)
#26 新しい記事を追加しよう (3)
#27 バリデーションを設定しよう
#28 バリデーションエラーを表示しよう
#29 フラッシュメッセージを表示する
#30 メッセージをjQueryで消す
Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)
- コントローラーのメソッドと、それに対応するViewを作っていきましょう(続き)
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(続き - new,create)
記事のタイトル一覧を表示するindexメソッド、その記事を表示するshowメソッドは完成したので次はその記事を表示するページが欲しいですね。ということでnewメソッド(新規作成フォーム)を作ります。また、フォームから送信されたデータを処理して新しい記事を作成するcreateメソッドも作成します。
バリデーション(検査)の設定をやってみよう(実践的)
#31 記事を更新してみよう (1)
#32 記事を更新してみよう (2)
#33 記事を更新してみよう (3)
Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)
- コントローラーのメソッドと、それに対応するViewを作っていきましょう(続き)
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(続き - edit, update)
記事のタイトル一覧を表示するindexメソッド、その記事を表示するshowメソッド、記事の新規作成フォームを作成するnewメソッド、記事を作成するcreateメソッドは完成したので次はその記事を編集するページが欲しいですね。ということでeditメソッド(記事編集フォーム)を作ります。また、フォームから送信されたデータを処理して記事を上書きするupdateメソッドも作成します。
#34 記事を削除してみよう
#35 削除処理をAjax化しよう (1)
#36 削除処理をAjax化しよう (2)
Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)
- コントローラーのメソッドと、それに対応するViewを作っていきましょう(続き)
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(続き - destroy)
記事のタイトル一覧を表示するindex、その記事を表示するshow、記事の新規作成フォームを作成するnew、記事を作成するcreate、記事を編集するeditは完成したので次はその記事を削除するページが欲しいですね。ということでdestroyを作ります。
#37 Commentモデルを作ろう
#38 Commentsコントローラーを作ろう
#39 コメントを表示させよう
#40 コメントを投稿してみよう (1)
#41 コメントを投稿してみよう (2)
#42 バリデーションを設定しよう
#43 コメントを削除してみよう (1)
#44 コメントを削除してみよう (2)
#45 コメント件数を表示してみよう
#46 Railsを日本語化しよう
Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)
- 新しい機能(Comment)を追加させましょう
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。