Ruby - Ruby on Rails - MVC
- 1. 概要
- 2. ここまで理解できていること
1. 概要
今頃、MVC について勉強するのかば~か。と言われそうですが、知らないもんはしょうがない。
言葉の説明は「Model View Controller - Wikipedia」で、うすらぼんやり分かるものの、体になじんでいないのだ。
View(ビュー)と Controller(コントローラ)は、まぁ大体わかるのである。
ちょっと理解しにくいのが Model(モデル)なんだな。
例えばこのサイトの大半は、.html なのでほぼビューのみでできています。
ビューのみで成立するサイトだってあるのです。
わたしが作っている他のサイトでは、smarty を使用していて、これは入り口にコントローラとして .php があり、最終的に .tpl がビューの役目をしています。
では、モデルに位置するものはそこのサイトでは何なのかというと、.php の中に合ったり、Javascript としてあったりするので、MVC の役割が曖昧模糊としております。
このあたり、Ruby on Rails はきっちりしているとのことなのですが・・・。
例えば、前の方で「Hello World!」を表示してみましたが、これもコントローラとビューのみで成立していますな。
明確なデータがない場合はモデルはなくてもいいと理解しようかしら(2018年11月27日)。
なんか簡単にいろいろ作成してくれる scaffold とか resources とかっていうものがあるようなのですが・・・。
「Rails 初心者は scaffold と resources を使うな - Qiita」を読んで納得。
Visual C++ を理解しないうちに使い始めて、プロジェクトを作成したら、意識しないソースが一度に作成されて、仕組みを理解するさまたげとなった記憶があるのです。
2. ここまで理解できていること
で、まぁ。
「Rails 初心者は scaffold と resources を使うな - Qiita」を読んで、ようやく理解したのが・・・。
モデル・コントローラを作成するのは。
rails g model モデル名 カラム名:型
rails g controller コントローラー名
らしいです。ここで、カラム名と型がわからんと思いましたが、テーブルのカラムと型?
コントローラの方は「Hello Workd!」で作成したコントローラのことですな。
わたしの環境で実際にコマンドを打つときは rails の前に bundle exec が必要なようです。
ルーティングは
get 'ルーティング/パス' => 'コントローラー#アクション'
post 'ルーティング/パス' => 'コントローラー#アクション'
と手書きすべしと書いているのは /プロジェクトパス/config/routes.rb の中に書けということかしら・・・?
|
|