0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RailsのView機能のメモ

Posted at

RailsのView機能についてのメモです。

Railsの勉強のメモです。
HTMLにはしょうもないことを反映させたほうが覚えが早くなるので悪しからず。。

文字の表示

コントローラ作成時に出来た、
hello_controller.rb

に新しく関数を作り、表示したい文字を変数に当て込みます。
コントローラ側で当てはめた変数を、テンプレート変数といいます。

hello_controller.rb
  def view
    @msg = 'こんにちは、ちん棒'
  end

hello_controller.rbで当てはめたテンプレート変数を呼び出すのに、
~~html.erb拡張子のファイルを作成します。

view.html.erb
<div id="main">
<%= @msg -%>
<div/>

html.erbファイルで変数を表示させたいときは、

view.html.erb
<% tinbo = "ちん棒や"-%>
<div>
<%=  tinbo -%>
</div>

と書けば表示させることが出来ます。

こんな感じになりました。

スクリーンショット (34).png

検証画面の中身

検証画面で、表示したHTMLを見れば、自分が記述していないコードがたくさん出てきてると思うのですが、どこからきているものなのでしょうか?

application.html.erbを開けば分かります!

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のことを、レイアウトと呼びます。

レイアウトを利用することで、以下のメリットが得られます。

・サイトデザインを変更する場合も、レイアウトだけを変更すればいい
・個別のテンプレートにはページ固有のコンテンツを記述すればいい
・サイトの構成(ナビゲーションなど)に一貫性ができるため、使い勝手も上昇する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?