LoginSignup
9
8

More than 5 years have passed since last update.

Sinatraを使ってHamlで作成したテンプレートを表示する方法

Last updated at Posted at 2014-12-18

お疲れ様です。最近Rubyにはまっているジャックです。
「Iwate Developers Advent Calendar 2014」の17日目を担当します。
少し投稿が遅れてしまいました。すみませんmm
今回はRubyについて書きたいと思います。

Sinatraのgemをインストールする

まずは必要なgemをインストールします。下記コマンドを叩いて終了です。

$ gem install sinatra --no-rdoc --no-ri
$ gem install sinatra-reloader --no-rdoc --no-ri
$ gem install haml --no-rdoc --no-ri

Hello, World!を表示する

erbテンプレートに、お決まりの「Hello, World!」を表示させる為には、下記のようなソースコードになる。Sinatraでviewテンプレートを利用する際は、viewsディレクトリを作成して、そのディレクトリにテンプレートを配置します。Sinatraは比較的viewの表示が容易に行う事ができて便利です。

sample/sample-erb.rb
require 'sinatra'
require 'sinatra/reloader'

get '/' do
    @title = 'Hello, World!'
    @subtitle = 'Hello, World!'
    erb :index
end
sample/views/index.erb
<html>
    <head>
        <title><%= @title %></title>
    </head>
    <body>
        <h1><%= @title %></h1>
        <p><%= @subtitle %></p>
    </body>
</html>

Hamlで表示してみる

もちろん、Hamlを使って表示する事ができます。

sample/sample-haml.rb
require 'sinatra'
require 'sinatra/reloader'
require 'haml'

get '/' do
    @title = 'Hello, World!'
    @subtitle = 'Hello, World!'
    haml :index
end
sample/views/index.haml
!!!
%html
  %head
    %title #{@title}!
    %body
      %h1 #{@title}!
      %p #{@subtitle}!

簡単なお問い合わせフォームを作る際には便利かもです。

9
8
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
9
8