演習課題「jobsテーブルの特定データを表示する」
右の環境には、SinatraでMySQLからjobsテーブルのデータを表示するプログラムが作成してあります。
このファイルを修正して、以下のルートで、指定idのカラムを表示してください。データは、indexテンプレートで表示します。
- /jobs/id
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#07:特定のプレイヤーを表示する
このチャプターでは、Sinatraを使って、簡単なWebアプリケーションを作ります。ここでは、RPGのプレイヤー一覧から、各プレイヤーの詳細情報を表示します。
# 特定のプレイヤーを表示する
require 'mysql2'
require 'sinatra'
require 'sinatra/reloader'
require 'erb'
client = Mysql2::Client.new(:host => "localhost", :username => "root", :database => "mydb")
get '/' do
sql = "SELECT players.id, name, level, job_name FROM players LEFT JOIN jobs ON jobs.id = players.job_id"
statement = client.prepare(sql)
@results = statement.execute()
erb :index
end
get '/show/:id' do
@message = "Hello player #{params['id']}"
sql = "SELECT players.id, name, level, job_name
FROM players LEFT JOIN jobs ON jobs.id = players.job_id
WHERE players.id = ?"
statement = client.prepare(sql)
@results = statement.execute(params['id'])
erb :index
end
<h1>Players index</h1>
<table>
<% @results.each do |row| %>
<tr>
<td><%= row["name"] %></td>
<td><%= row["level"] %></td>
<td><%= row["job_name"] %></td>
</tr>
<% end %>
</table>
- [Ruby mysql2のメモ - かもメモ]
http://chaika.hatenablog.com/entry/2016/04/01/083000
- [ruby から mysql へアクセスする - KRAKENBEAL RECORDS]
http://krakenbeal.blogspot.jp/2013/02/ruby-mysql.html
- [Sinatra: README (Japanese)]
http://www.sinatrarb.com/intro-ja.html
- [SELECT構文:WHEREで検索条件を設定する| 第3章 SQL構文 | [Smart]]
http://rfs.jp/sb/sql/s03/03_2-2.html