// config/routes.rb
get 'userinfo/index'
まず、これがどういう意味かというと、userinfo/index
、もっというと、http://localhost:3000/userinfo/index にアクセスすると反応するよって意味なのですが、このURLに表示されるのは、色々なスクリプトのフィルターを通して出来たものになります。
// app/controllers/userinfo_controller.rb
def index
@var = 'hello.'
end
例えば、そのURLにページが表示される前に、アクションと呼ばれるものを適用します。
このアクションをまとめて、コントローラーと言うみたいです。
ではこのアクションに何を書くかと言うと、いわゆるRubyスクリプトを書くところです。
プログラムを書くところですね。
普段ローカルで作業する際には、1つのプロジェクトやツールを作る際に、それなりにコードをかくと思います。
そういったRubyコードを、このアクションに書きます。
そうしてコードから最終的に出力されたデータ、欲しかったデータを、何らかのインスタンス変数に入れておきます。
あとで説明する、データベース…ここではモデルといいますが、このモデルの操作をするのもここでやります。というかやるべき、っていうだけです。そっちのほうが分かりやすい・読みやすいから、らしいです。
// app/views/userinfo/index.html.erb
<h1>Userinfo#index</h1>
<p>Find me in app/views/userinfo/index.html.erb</p>
<%= @var %>
そうして、最後に、URLはこのファイルを通過します。
このファイルはERBファイルという、特殊なHTMLファイルです。
このファイルがほぼそのまま、ウェブページ、つまり、1番最初に出てきたuserinfo/index
に表示されます。
ここでは、さっきアクションでさり気なく定義していた、@var
を、HTMLの中にテキストとして出力するようにしています。
で、ここまでの作業は手動でやるのか、というと、ここがRailsの使い所で、
rails g controller USERINFO index
このコマンド1つで、フォルダ・ファイル・コードを作成してくれます。
上の例で、違うところは、僕が追記する形で書き加えた、@var = 'hello.'
のみです。