Skip to content

Ruby on Rails

레일즈는 루비 언어로 작성된 웹 어플리케이션 프레임워크 입니다. 레일즈는 모든 개발자가 개발을 시작 할때 필요한 초기 준비나 가정들을 쉽게 만들수 있는 도구를 제공하여, 웹 어플리케이션 프로그래밍을 더 쉽게 만들수 있도록 설계 되어 있습니다. 레일즈는 다른 언어와 프레임웍에 비해서 더 적은 코드로 작성됩니다. 레일즈를 경험한 개발자들은 웹 어플리케이션 개발이 좀 더 재미있다고 이야기합니다.

How to install

아래와 같이 Rails를 설치한다.

$ sudo gem install rails

그리고 아래와 같이 새로운 프로젝트를 생성한다.

## 기본 DB설정은 SQLite를 사용한다.
$ rails new [PROJECT_NAME]

## 만약 MySQL 데이터베이스 설정을 사용하고 싶다면 아래와 같이 사용해야 한다.
$ rails new [PROJECT_NAME] —database=mysql

Category

Introduce

## 필요한 젬 설치하기
$ bundle install

## 데이터베이스 생성
$ rake db:create

## 웹서버 시작하기
$ rails server

Directories

파일/폴더

목적

Gemfile

이 파일은 여러분의 레일즈 어플리케이션에게 필요한 젬의 의존성 정보를 기술하는데 사용됩니다.

README

이 파일은 어플리케이션을 위한 짧막한 설명입니다. 설치, 사용 방법 기술에 쓰입니다.

Rakefile

이 파일은 터미널에서 실행할 수 있는 배치잡들을 포함합니다.

app/

어플리케이션을 위한 컨트롤러, 모델, 뷰를 포함합니다. 이 가이드에서는 이 폴더에 집중할 것 입니다.

config/

어플리케이션의 실행 시간의 규칙, 라우팅, 데이터베이스 등 설정을 저장합니다.

config.ru

랙(Rack) 기반의 서버들이 시작할때 필요한 설정 입니다.

db/

현재 데이터베이스의 스키마를 볼 수 있습니다.(데이터베이스 마이그레이션으로 잘 알려져 있습니다.) 여러분은 마이그레이션에 대해서 간단하게 배우게 됩니다.

doc/

어플리케이션에 대한 자세한 설명 문서입니다.

lib/

어플리케이션을 위한 확장 모듈입니다. (이 문서에서 다루지 않습니다.)

log/

어플리케이션의 로그 파일입니다.

public/

외부에서 볼수 있는 유일한 폴더 입니다.이미지, 자바스크립트, 스타일시트나 그외 정적인 파일들은 이곳에 두세요.

script/

레일즈 스크립트를 포함합니다. 여러분의 어플리케이션을 실행시키거나, 배포, 실행 관련한 스크립트를 두세요.

test/

유닛 테스트, 픽스쳐, 그와 다른 테스트 도구들 입니다. 이 부분은 레일즈 어플리케이션 테스트하기 가 담당합니다.

tmp/

Temporary files

tmp/

임시 파일

vendor/

서드 파티 코드들을 위한 공간입니다. 일반적인 레일즈 어플리케이션은 루비 젬과 레일즈 소스-프로젝트 내에 설치시-와 미리 패키징된 추가 플러그인들이 위치합니다.

Database setting

데이터페이스의 사용하기 위해서 config/database.yml설정 파일(YML)이 필요하다. 기본적값으로 레일즈상에서 이 파일은 세가지의 환경 설정으로 구성되어 있습니다:

  • development(개발): 환경은 여러분의 개발 컴퓨터에서 사용됩니다.
  • test(테스트): 환경은 자동화된 테스트를 위해 사용됩니다.
  • production(제품): 환경은 어플리케이션을 실제 서비스에 배포할때 사용됩니다.

Create controller

아래와 같이 입력하면 된다.

$ rails generate controller home index

아래와 같은 메시지가 출력된다.

Warning: You're using Rubygems 2.0.14 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine --all` for better startup performance.
      create  app/controllers/home_controller.rb
       route  get 'home/index'
      invoke  erb
      create    app/views/home
      create    app/views/home/index.html.erb
      invoke  test_unit
      create    test/controllers/home_controller_test.rb
      invoke  helper
      create    app/helpers/home_helper.rb
      invoke    test_unit
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/home.coffee
      invoke    scss
      create      app/assets/stylesheets/home.scss

Rail on Docker

See also

Favorite site

How to install

Tools

References


  1. Blog.nacyot.com_-_To_deploy_Ruby_on_Rails_applications_to_Docker.pdf 

  2. Railsguidebook.pdf