본문 바로가기

Programmer

레일즈 프로젝트 작성 순서

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

레일즈의 전체적인 프레임웍이 머리속에서 정리가 되는듯 하면서도 헛갈린다.

실질적으로 프로젝트를 할때 어떤 순서로 프로젝트를 하면 될지 간단히 정리해 보자.

1. 레일즈 프로젝트 생성.
>> rails project

2. 데이타베이스 생성 및 connection test
>> create database project_development default charset utf8;
>> cd project
>> ruby script/console
>>>> result_set = ActiveRecord::Base.connection.execute "select now()"
>>>> result_set.fetch_row
현재 시간이 나온다면 connection success!!

3. 테이블 생성 및 ActiveRecord Model 생성
>> ruby script/generate migration InintialSchema
- edit : db/migrate/001_initial_schema.rb
class InitialSchema < ActiveRecored::Migration
    def self.up
        create_table "users" do |t|
            t.cloumn "login", :string
        end
    end
end

>> rake db:migrate

>> ruby script/generate model User --skip-migration
>> ryby script/generate model Article --skip-migration

4. 모델간의 관계 설정
>> edit : app/models/user.rb
class User < ActiveRecored::Base
    has_many :articles
end


5. 모델 데이타의 검증
>> edit : app/models/user.rb
class user < ActiveRecored::Base
    has_many :articles
   
    validates_leng_of :login,
                             :in => 2..10,
                             :too_short => " 은 2글자 이상이어야 합니다.",
                             :too_long => " 은 10글자 이하여야 합니다."
end


* 편리한 글쓰기를 위한 라이브러리(마크다운) 사용하기 : 글쓰기가 필요하다면...
6. 마크다운 라이브러리 설치
>> gem install bluecloth

7. 마크다운 코드에서 html 코드로의 변환
>> edit : app/models/article.rb
class Article < ActiveRecored::Base
    belongs_to :user
    belongs_to : category

    validte_presence_of :title,
                                 :message =>  " 은 빈칸일수 없습니다."

    def before_save
        self.body_html = BlueCloth.net(self.body).to_html
    end
end


8. 라우팅 설정
>> edit : config/routes.rb
ActionController::Routing::Routes.draw do |map|
    map.connect 'admiin', :controller => "articles", :acion=> "index"
    map.connect 'admin/articels/:action/:id', :controller => "articles"
end


8. scaffold 를 이용한 crud 만들기.
>> ruby script/generate scaffold User Users name:String password:String

9. 서버 실행
>> ruby script/server