Sinatraを使ったWebアプリ開発 ルーティング編

はじめに

先日、Railsの勉強のために現場で使える Ruby on Rails 5速習実践ガイド
という本でタスク管理アプリを作成しました。
そこでよりRailsの理解を深めるためにもSinatraでタスク管理アプリを
実装することにしました。
今回はルーティングついてまとめました。

RESTfulなルーティング

Railsで実装した時と同じURLになるようにSinatraのルーティングを設定。

Railsでの実装

resources :tasks

Sinatraでの実装

# app.rb
# index
get '/tasks' do

end

# new
get '/tasks/new' do

end

# show
get '/tasks/:id' do

end

# edit
get '/tasks/:id/edit' do

end

# create
post '/tasks' do

end

# update
patch '/tasks/:id' do

end

# destory
delete '/tasks/:id' do

end

感想

Sinatraでルーティングを定義する際は使うパス分、追記する必要があり、
またパス名も考えないといけない。
Railsは短いコードで定義できるが何をしているのか理解していないと
冗長なコードになってしまったり、使い方を間違ってしまったりする。
今回、Sinatraでルーティングの定義をすることで
Railsでルーティングする際の容易性を再認識することができた。