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 の中に書けということかしら・・・?