RailsのView機能についてのメモです。
Railsの勉強のメモです。
HTMLにはしょうもないことを反映させたほうが覚えが早くなるので悪しからず。。
文字の表示
コントローラ作成時に出来た、
hello_controller.rb
に新しく関数を作り、表示したい文字を変数に当て込みます。
コントローラ側で当てはめた変数を、テンプレート変数といいます。
def view
@msg = 'こんにちは、ちん棒'
end
hello_controller.rbで当てはめたテンプレート変数を呼び出すのに、
~~html.erb拡張子のファイルを作成します。
<div id="main">
<%= @msg -%>
<div/>
html.erbファイルで変数を表示させたいときは、
<% tinbo = "ちん棒や"-%>
<div>
<%= tinbo -%>
</div>
と書けば表示させることが出来ます。
こんな感じになりました。
検証画面の中身
検証画面で、表示したHTMLを見れば、自分が記述していないコードがたくさん出てきてると思うのですが、どこからきているものなのでしょうか?
application.html.erbを開けば分かります!
<!DOCTYPE html>
<html>
<head>
<title>Railbook</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= yield %>
</body>
</html>
このに、テンプレートファイルで記述した内容が反映されているみたいですね!!
また、 application.html.erbのことを、レイアウトと呼びます。
レイアウトを利用することで、以下のメリットが得られます。
・サイトデザインを変更する場合も、レイアウトだけを変更すればいい
・個別のテンプレートにはページ固有のコンテンツを記述すればいい
・サイトの構成(ナビゲーションなど)に一貫性ができるため、使い勝手も上昇する。