Skip to content

Instantly share code, notes, and snippets.

@saboyutaka
Last active August 2, 2018 13:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save saboyutaka/fb665adba1ecf735a0ea7df8e6fffc21 to your computer and use it in GitHub Desktop.
Save saboyutaka/fb665adba1ecf735a0ea7df8e6fffc21 to your computer and use it in GitHub Desktop.
Sinatra sample #1
require 'sinatra'
require 'sinatra/reloader' if development?
class User
attr_accessor :first_name, :last_name, :age
def initialize(last_name, first_name, age)
self.last_name = last_name
self.first_name = first_name
self.age = age
end
def name
last_name + ' ' + first_name
end
end
# ただの文字列を返す
get '/' do
'Hello world!'
end
# 現在時刻を返す
get '/now' do
Time.now.to_s
end
# erb使う
get '/page' do
@title = 'CODEBASE'
@now = Time.now
erb :page
end
# User Classを使ってuserの名前をliで表示させる
get '/users' do
user1 = User.new('hoge', 'fuga', 39)
user2 = User.new('Tachibana', 'Yutaka', 30)
user3 = User.new('Nakatsukasa', 'Yuya', 28)
user4 = User.new('Suzuki', 'Takayuki', 28)
user5 = User.new('Teraji', 'Takashi', 32)
@users = [user1, user2, user3, user4]
erb :users
end
<!-- /views/page.erb -->
<html>
<body>
<h1><%= @title %></h1>
<p>Now: <%= @now %></p>
</body>
</html>
<!-- /views/users.erb -->
<html>
<body>
<h1>Users</h1>
<ul>
<% @users.each do |user| %>
<li><%= user.name %></li>
<% end %>
</ul>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment