Ramaze Simple Tutorial (with Sequel)
ννλ€ λ§μ΄ μ΄μ©λλ Rails λ₯Ό μμ°κ³ Ramaze + Sequel μ‘°ν©μ μλν΄ λ³Έ μ΄μ λ μ€μΉλλ λͺ¨λμ΄ μ λ§ μ κΈ° λλ¬Έμ΄λ€. λ무 λ§μ μμ‘΄μ±μ κ°μ§κ² λλ©΄, μκ°μ΄ μ§λ μλ‘ κ΄λ¦¬νλλ° λ§μ λ¬Έμ λ₯Ό μ½μΌν¨λ€. μ΄ λλ¬Έμ, μλλ python/Django λ₯Ό μ¬μ©νμλλ°, python λμ ruby λ₯Ό μ¬μ©νκ³ μΆμ΄μ λ체ν λ§ν μΉνλ μμν¬λ₯Ό μ°Ύκ³ μμλ€. κ·Έλ¬λ€κ°, Ramaze + Sequal μ΄ μ΄κ°λ¨μΌλ‘ μ€μΉλλ κ²μ νμΈνκ³ , κ΄λ ¨ λ¬Έμλ₯Ό μ°Ύμλ³΄κ³ ν μ€νΈνμ§λ§ Rails λ Django μ²λΌ μΆ©λΆν λ¬Έμλ₯Ό μ 곡νμ§ μλλΌ. μΈλ§ν Tutorial λ μκ³ ν΄μ, μ΄κ°λ¨μΌλ‘ Tutorial μ λ§λ€μ΄λ³΄μλ€.
κ΄λ ¨ λͺ¨λ μ€μΉ
$ apt-get install libsqlite3-dev sqlite3 $ gem install ramaze sequel thin sqlite3
νλ‘μ νΈ μμ±
$ mkdir -p /opt/project/ramaze $ cd /opt/project/ramaze $ ramaze create web
κΈ°λ³Έ μΉμλ² λ³κ²½ -> start.rb μμ :webrick μ :thin μΌλ‘ μμ
μΉμλ² μμ ν μ€νΈ
$ ramaze start -s thin or $ ruby start.rb
db μμ±
$ cd /opt/project/ramaze/web $ mkdir -p db/migration $ vi db/migration/001_AdminMigration.rb
db/gigration/001_AdminMigration.rb
# Run: # sequel -m db/migration -M 1 sqlite://db/web.db class CreateAdminsTable < Sequel::Migration def up create_table(:admins) do primary_key :id String :login, :unique => true String :password String :name String :email String :mobile_phone String :level end end def down drop_table(:admins) end end
DB Migration
$ sequel -m db/migration -M 1 sqlite://db/web.db
app.rb μ λ€μ μΆκ°
# coding : utf-8 require 'sequel' # Open the accounts database DB = Sequel.connect('sqlite://db/web.db') # Initialize controllers and models require __DIR__('model/init') require __DIR__('controller/init') # μλλ μ²μ μ€νν λ νλ²λ§ μ μ©νκ³ μ£ΌμμΌλ‘ λ§μμ€λ€. # Admin.create(:login => 'hong', :password => 'hong1234', :name => 'νκΈΈλ', :email => '[email protected]', :mobile_phone => '010-5555-5555', :level => '00') # Admin.create(:login => 'jang', :password => 'jang1234', :name => 'μ₯μμ€', :email => '[email protected]', :mobile_phone => '010-6666-6666', :level => '01')
model/init.rb μ λ€μ μΆκ°
require __DIR__('admin')
model/admin.rb μμ±
require 'sequel' class Admin < Sequel::Model end
controller/init.rb μ λ€μμ μΆκ°
require __DIR__('admin')
controller/admin.rb μμ±
class AdminController < Controller map '/admin' def index 'Admin Test' end end
νλ‘μ νΈλ₯Ό μ€ννκ³ λΈλΌμ°μ μμ http://localhost:7000/admin μ μ κ·Όν΄λ³Έλ€.
μ΄μ , controller/admin.rb μ index λ₯Ό λ€μκ³Ό κ°μ΄ λ³κ²½νλ€.
def index @admins = Admin.all end
view λλ ν 리 μμ±
$ cd /opt/project/itsm_ramaze/web/view $ mkdir admin
view/admin/index.xhtml μμ±
<h1> Admin Test Page </h1> <?r @admins.each do |admin| ?> #{admin.login} #{admin.name} #{admin.email} #{admin.mobile_phone} #{admin.level} <br/> <?r end ?>
νλ‘μ νΈλ₯Ό μ€ννκ³ λΈλΌμ°μ μμ http://localhost:7000/admin μ μ κ·Όν΄μ λ°μ΄ν° λͺ©λ‘μ΄ λ¨λ©΄ μ μμ΄λ€.

















