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.

【Sinatra】でレンダリング

0
Posted at

SintraでHTMLファイルの呼び出しをしていきます!

*参考
https://qiita.com/kimioka0/items/751e460cbb59c70379c6#05-url%E3%81%8B%E3%82%89%E3%81%AE%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%82%92%E4%BD%BF%E3%81%8A%E3%81%86-2
http://sinatrarb.com/intro.html
https://qiita.com/itaya/items/f5b915e2b89457c6f514

Railsとほぼ同じ

やり方はRailsとほぼ同じでした。

myapp.rb

myapp.rb
中略

get '/' do
  @code = "ブリ"
  erb :index
end

サーバ起動後、http://localhost:4567/
を探しに行きます。
@code = "ブリ" で、@codeにHTMLファイルで使える変数を持たせることが出来ます。

erb:index で、同ディレクトリ配下のview/index.erbファイルを探しに行きます。

ここはRailsと違うところですね。
Railsならindex.html.erbとなってますし、ファイル名も決まり切ってます。
自由に設計できるのも良いですね。

view/index.erb

<div><%= @code %>ってます</div>

てな感じでHTMLファイルを呼び出すことができます。

erbの呼び出しファイルを並べてみる

myapp.rb

myapp.rb
中略

get '/' do
  @code = "ブリ"
  erb :index
end

で、erbファイルを複数呼び出すことはできないのかと思い、viewフォルダに適当なerbファイルを2つ追加することにします。

myapp.rb

get '/' do
  @code = "ブリ"
  erb :index
  erb :code
  erb :sub
end```

すると、erbで呼び出す一番下の「erb :sub」が呼び出されました。
「erb :~~」を存在しないファイルをの内容を指定するとエラーになったので、記述されているファイルは全部呼び出されて、最終的に表示されるのが一番下に記述されているファイルなんじゃないかなと思います。

「erb :~~」で呼び出すのは記述されているファイルの一番下のものになることが分かりました。

# 共通レイアウトの設定

viewファイルの下に共通レイアウト用の```layout.erb```を作成します。

layout.erb
<%= @title %>
title
<%= yield %>
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?