scaffold 를 이용한 컨트롤러, 모델의 생성
분류없음 2008/06/11 15:52 |
MSSQL Adapter 연결도 되었으니.. 이제 슬슬 DB 연동을 해볼까나.. 으흐흐..;;
책에 나온대로 (Wrox Beginning Ruby on Rails) 두근두근 타이핑해보자..
(Rails 프로그램을 scaffold로 개발할 때에는 작업 대상이 되는 데이터베이스 테이블 이름이 반드시 복수형(plural)이어야 한다. 모델의 이름은 그 이름과 같되 단수형이어야 하고, 그 첫문자가 대문자이어야 한다. 이것은 Rails 가 정해놓은 암묵적 규칙이다.)
ruby script/generate scaffold Item Manage
(주:책에서는 mysql 로 items 라는 테이블이 생성된 상태였고, scaffold 를 이용해서 Item 모델과 그것의 컨트롤러를 scaffold 로 자동생성하려 했던것으로 추측[-_-;] 된다)
but...
위명령어로 하니 .. 오류뜬다. (아놔 -_- 뭐 하나 제대로 되는게 없다. 책이 옛날이어서 그렇다기 보다는 RoR 의 하위버젼에 대한 미비한 지원때문이 아닐까 -_-; 읅)
wrong number of arguments (1 for 2)
무슨 에러메세지가... 조낸 간단하다 -_-; ;;; 결국 또 구글사마에게 물어보기로 했다... 답은 ...
yup, seems to be a pretty bad incompatibility bug between ruby 1.8.6 and rails 2.0.1.
i had to go back to 1.8.5 and 1.1.6 respectively for the scaffold to work.
이건뭥미;; 1.8.5 로 저짓을 해란다. -_-;; 으아악!!!!
또다시 구글링... 현재 설치된 버젼에서 올바른 Command 를 찾아보기 시작했다.
아래의 멋진 아티클 발견! (글은 멋지지만 내 기분은 아놔 ㅜ_ㅜ)
http://fairleads.blogspot.com/2007/12/rails-20-and-scaffolding-step-by-step.html
Old vs. New
The next steps show where differences between older Rails tutorials will become greatest. Older tutorials would script/generate a model then use the migrate file created to layout columns in the model's database table. Next you would script/generate a controller and add scaffolding. This will fail in Rails 2.0.
In Rails 2.0 it will take fewer steps, but may be a little harder to follow because so much is accomplished with so few commands.
짧은 영실력으로 보건데... 몇단계 더 많아졌단다 ㅡㅡ;
ruby script/generate scaffold Movie title:string description:text urllink:string
실행해보자.. 그냥 감으로보건데... Movie 라는 엔티티를 만드는데 title 과 description , urllink 컬럼을 맹그나 보다.. 그 뒤는 컬럼 타입인거 같고.. ㅡㅡ;
실행해보니 오류없이 잘된다.. (아악!)
db\migrate 폴더에는 스크립트 생성 ruby 파일이 만들어졌네..
rake db:migrate
뭐 잘 실행되었다는 메세지가 나온다. (다행이다. 이번에도 안되면 책 엎을려고 그랬다 -_- 흥.)
MSSQL 2005 Management Studio 로 DB를 보니.. 테이블이 역시나 만들어져 있다... 테이블 스크립팅을 보니..
CREATE TABLE [zerocool].[movies](
[id] [int] IDENTITY(1,1) NOT NULL,
[title] [varchar](255) NULL DEFAULT (null),
[description] [text] NULL DEFAULT (null),
[urllink] [varchar](255) NULL DEFAULT (null),
[created_at] [datetime] NULL DEFAULT (null),
[updated_at] [datetime] NULL DEFAULT (null),
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
id 라는 identity (시퀀스) 컬럼과, created_at , updated_at 컬럼이 추가로 생성되었다.
(아마도 created,updated 컬럼은 rake 에서 db migration 버젼관리 할때 사용되나 보다? (아직안해봐서 잘 모르겠지만 -_-a;)
헥헥 여기까지 DB만들어진건 확인했고.. scaffold 가 model, view, controller 까지 맹글어주었으니.. 웹브라우져로 한번 볼까나...
이렇게 뜬다. (이미지는 다른곳에서 가지고 왔다. 완전 동일해서..)
글쓰기페이지에서..

입력하고 Create 눌러봤다.. 오옷! 저장 잘되겠지.. 당근~ scaffold 가 해준건데.. 난 그냥 prototype 만 CL 로 넣어줬잖아 .. 잘 될거야..
책에 나온대로 (Wrox Beginning Ruby on Rails) 두근두근 타이핑해보자..
(Rails 프로그램을 scaffold로 개발할 때에는 작업 대상이 되는 데이터베이스 테이블 이름이 반드시 복수형(plural)이어야 한다. 모델의 이름은 그 이름과 같되 단수형이어야 하고, 그 첫문자가 대문자이어야 한다. 이것은 Rails 가 정해놓은 암묵적 규칙이다.)
ruby script/generate scaffold Item Manage
(주:책에서는 mysql 로 items 라는 테이블이 생성된 상태였고, scaffold 를 이용해서 Item 모델과 그것의 컨트롤러를 scaffold 로 자동생성하려 했던것으로 추측[-_-;] 된다)
but...
위명령어로 하니 .. 오류뜬다. (아놔 -_- 뭐 하나 제대로 되는게 없다. 책이 옛날이어서 그렇다기 보다는 RoR 의 하위버젼에 대한 미비한 지원때문이 아닐까 -_-; 읅)
wrong number of arguments (1 for 2)
무슨 에러메세지가... 조낸 간단하다 -_-; ;;; 결국 또 구글사마에게 물어보기로 했다... 답은 ...
yup, seems to be a pretty bad incompatibility bug between ruby 1.8.6 and rails 2.0.1.
i had to go back to 1.8.5 and 1.1.6 respectively for the scaffold to work.
이건뭥미;; 1.8.5 로 저짓을 해란다. -_-;; 으아악!!!!
또다시 구글링... 현재 설치된 버젼에서 올바른 Command 를 찾아보기 시작했다.
아래의 멋진 아티클 발견! (글은 멋지지만 내 기분은 아놔 ㅜ_ㅜ)
http://fairleads.blogspot.com/2007/12/rails-20-and-scaffolding-step-by-step.html
The next steps show where differences between older Rails tutorials will become greatest. Older tutorials would script/generate a model then use the migrate file created to layout columns in the model's database table. Next you would script/generate a controller and add scaffolding.
In Rails 2.0 it will take fewer steps, but may be a little harder to follow because so much is accomplished with so few commands.
짧은 영실력으로 보건데... 몇단계 더 많아졌단다 ㅡㅡ;
ruby script/generate scaffold Movie title:string description:text urllink:string
실행해보자.. 그냥 감으로보건데... Movie 라는 엔티티를 만드는데 title 과 description , urllink 컬럼을 맹그나 보다.. 그 뒤는 컬럼 타입인거 같고.. ㅡㅡ;
실행해보니 오류없이 잘된다.. (아악!)
db\migrate 폴더에는 스크립트 생성 ruby 파일이 만들어졌네..
rake db:migrate
뭐 잘 실행되었다는 메세지가 나온다. (다행이다. 이번에도 안되면 책 엎을려고 그랬다 -_- 흥.)
MSSQL 2005 Management Studio 로 DB를 보니.. 테이블이 역시나 만들어져 있다... 테이블 스크립팅을 보니..
CREATE TABLE [zerocool].[movies](
[id] [int] IDENTITY(1,1) NOT NULL,
[title] [varchar](255) NULL DEFAULT (null),
[description] [text] NULL DEFAULT (null),
[urllink] [varchar](255) NULL DEFAULT (null),
[created_at] [datetime] NULL DEFAULT (null),
[updated_at] [datetime] NULL DEFAULT (null),
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
id 라는 identity (시퀀스) 컬럼과, created_at , updated_at 컬럼이 추가로 생성되었다.
(아마도 created,updated 컬럼은 rake 에서 db migration 버젼관리 할때 사용되나 보다? (아직안해봐서 잘 모르겠지만 -_-a;)
헥헥 여기까지 DB만들어진건 확인했고.. scaffold 가 model, view, controller 까지 맹글어주었으니.. 웹브라우져로 한번 볼까나...
이렇게 뜬다. (이미지는 다른곳에서 가지고 왔다. 완전 동일해서..)
글쓰기페이지에서.. 
입력하고 Create 눌러봤다.. 오옷! 저장 잘되겠지.. 당근~ scaffold 가 해준건데.. 난 그냥 prototype 만 CL 로 넣어줬잖아 .. 잘 될거야..
역시나 .. 오류뜬다. (ㅅㅂㄹㅁ;)

뭐냐 이건 .. -_-; syntax 가 틀리단다;; 아놔;; 너무 데이터를 진짜같이[;;] 넣어서 그런가? 싶어서 간단하게 넣어봤다. 그것도 영어로만;;; -_-;;

입력해보니..

잘되었단다..
아놔! 한글 지원이 안된다는건가? 또 어디서 세팅을 변경해줘야 하는거지? ㅜ_ㅜ
아.. 산넘어 산이군화....

뭐냐 이건 .. -_-; syntax 가 틀리단다;; 아놔;; 너무 데이터를 진짜같이[;;] 넣어서 그런가? 싶어서 간단하게 넣어봤다. 그것도 영어로만;;; -_-;;

입력해보니..

잘되었단다..
아놔! 한글 지원이 안된다는건가? 또 어디서 세팅을 변경해줘야 하는거지? ㅜ_ㅜ
아.. 산넘어 산이군화....

댓글을 달아 주세요
완전 암울하겠다..;; 2.0을 기다리며
아놔 mysql 로 connection 설정해서 mysql encoding 관련 모든 설정(binary 빼고) 을 utf-8 로 하고 난다음에
database.yaml 의 설정또한 UTF-8 로 맞춰주니 잘 되네요 -_- 하앍
아놔아놔 하위버젼 호환성 쉐트인 RoR -_-