1. 폴더를 만든다 (ex>. sinatraTest)
2. 폴더를 Sublime 으로 드래그 하면 왼쪽에 네비창이 생긴다.
3. Gemfile 을 만든다 (확장자 없이)
source “http://www.rubygems.org"
gem ’sinatra’
4. 터미널에서 폴더로 들어가서
sudo gem install bundler
(번들러를 설치한다)
sudo bundle install
또는
bundle install
(Gemfile 에 있는 sinatra를 설치한다)
5. runner.rb
(루비 파일을 만든다)
require ‘sinatra’
get ‘/‘ do
return “Hello World!!”
end
6. 터미널로 가서 해당 폴더 위치에서
ruby runner.rb
(파일을 실행시킨다. 끌때는 ctrl + c)
그럼 포트번호가 뜰것이다. 예를 들어 4567
7. 크롬을 열고
localhost:4567
을 주소창에 넣고 실행시킨다.
Hello World!!를 확인할 수 있다.
8. 하지만 코드를 바꿔고 크롬을 새로고침 해도 바뀌지 않는다.
그래서 shotgun 을 이용한다.
Gemfile 에
gem ‘shotgun’
을 추가 코딩한다.
9. 터미널로 가서
sudo bundle install
바꾼 Gemfile 을 install 하여 shotgun을 설치한다.
10. 터미널로 가서
shotgun runner.rb
그럼 포트번호가 뜰것이다.
(ex>. 9393)
11. 크롬으로 가서 주소창에
localhost:9393
이제 runner.rb의 파일을 수정하고 저장하면 크롬의 새로고침으로 바로 확인할 수 있다.
12. runner.rb 에서
return "Hello World!!!!!!!” 대신
erb :index
를 코딩한다.
(: 와 index를 붙여씀에 주의한다.)
13. 크롬을 새로고침 해주면 error 메세지가 나올 것이다.
그럼 거기 나와있는데로 해당폴더 안에 views 폴더를 만들고 그 아래 index.erb 파일을 만들어준다.
14. index.erb 파일 안에 html 이 들어간다.
대충
<head>
<body>
HiHiHi
</body>
</head>
를 넣고 크롬에서 localhost:9393을 실행해보자 (새로고침)
확인할 수 있을 것이다.
<ActiveRecord>
15. 이제 activerecord를 사용해서 db랑 연결해 보자
먼저 Gemfile로 가서
gem 'sinatra-activerecord'
gem 'sqlite3'
gem ‘rake'
를 추가 코딩한다.
16. 터미널로 가서
sudo bundle install
추가된 3개를 install 한다.
17. Gemfile을 만들듯이
Rakefile을 만들어준다.
require "sinatra/activerecord/rake"
require "./runner”
를 코딩후 저장
18. 터미널로 가서
bundle exec rake -T
를 실행해보자
그럼 rake 사용법이 나온다.
bundle exec rake db:rollback => migration을 되돌릴 수 있다.
bundle exec rake db:migrate => migrate 한다.
19. db를 사용하기 전에 runner.rb 윗 부분에
require "sinatra"
require "sinatra/activerecord"
set :database, "sqlite3:///blog.sqlite3"
class Post < ActiveRecord::Base
end
를 코딩
(대소문자와 / 갯수를 주의한다. 저장하면 이제 db가 연결된다.)
20. 터미널에서
bundle exec rake db:create_migration NAME=create_users
를 실행하면 폴더안에 db/migrate/---create_users.rb이 생성된것을 확인할 수 있다.
21. create_users.rb 파일안에
class CreateUsers < ActiveRecord::Migration
def change
create_table :posts do |t|
t.string "title"
t.text "description"
end
end
end
를 코딩
(테이블 생성)
22. 터미널에서
bundle exec rake db:migrate
'개발이야기 > Ruby, Sinatra, ActiveRecord' 카테고리의 다른 글
[Ruby] assert 함수 만들기 _ 주어진 조건 확인 (0) | 2014.02.19 |
---|---|
[Ruby] 콜라츠 추측 (0) | 2014.02.04 |