반응형
관리자가 물품 등록을 하고, 물품관련 상세 내용을 올릴 수 있는 Depot 에플리케이션을 만들어봤다.
이제 고객이 들어와 물품을 보고 고르고, 구입할 수 있는 에플리케이션을 만들어보자

1) Catalog Listing (카탈로그 리스트)

depot> ruby script/generate controller store index

Store 라는 이름의 Controller를  generate 유틸리티로 만든다. 위에 index 가 붙었는데 이건 Method 이름이다.
전에는 Product 라는 Controller 만 만들었지만, 이번엔 Store 라는 Controller 를 만들며 그 안에 index 라는 Method 를 함께 만드는 것이다. 

웹페이지가 뜨는지 확인한다. http://localhost:3000/store

잘 만들어 졌다면, 첫번째로, 데이터 베이스에 있는 품목 리스트를 보여주는것으로 시작을 해보자.
strore_contoller.rb 안에 있는 index Method 를 바꿔줘야 한다.

depot/app/controllers/store_controller.rb

위의 코드는  Model 에서 품목 리스트를 들고 와야 한다는 내용의 코드이다.

자 다음은 Controller 에서 호출을 받은 Model 이 판매되고 있는 품목 리스트(producst_for_sale)를 Method 를 통해 찾는다.

depot/app/models/product.rb

find 는 Rails Method 이다. find Method 는 Product Object 를 들고 있는 Array 를 반환하는데 Array 안에는 데이터 베이스에서 받는 각각의 Row 별 값들이 들어있다.  :all 파라미터는 주어진 조건의 모든 Row 값들을 들고 온다는 뜻이며 :order 를 주어 "title" 컬럼으로 Sorting 되어 들고 오라는 뜻이다.
들고 온 뒤에는 find_products_for_sale Method 는 자신을 호출한 Controller 로 받아온 값들을 돌려준다.

자 Controller 는 값들을 받았으니, View 를 통해 결과값들을 보여줘야 한다.

depot/app/views/store/index.html.erb

아직 CSS 파일이 없어 보기 좀 그렇지만.. 일단 기능적으로 원하는 부분이 완료 되었다.
반응형

+ Recent posts