[RoR] 500? 백앤드 누구야...나네? Part. 2

Ssss·2021년 3월 21일
0
post-custom-banner

🍎 schema.rb

rake db:migrate라는 명령어를 실행하면 schema.rb에 내가 만든 db 테이블들이 다음과 같이 migrate 된다.

create_table "items", force: :cascade do |t|
    t.string "name"
    t.text "description"
    t.string "image_url"
    t.integer "price"
    t.decimal "sale"
    t.integer "stock"
    t.bigint "category_id", null: false
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
    t.index ["category_id"], name: "index_items_on_category_id"
  end

schema.rb를 확인해보면 현재 어떤 파일들까지 migrate 되었는지 확인할수 있다.

🍎 seeds.rb

이제 테이블들을 다 schema.rb 파일에 옮겼으니 데이터를 집어넣어야한다. 데이터는 seeds.rb로 집어넣을수도 있고 rails console에서 하나씩 넣을수 있지만 한꺼번에 여러 데이터를 넣을수 있는 seeds.rb로 초기 데이터를 집어 넣었다.

items = Item.create([{name: "Fried Chicken", description: "It is a fried chicken", stock:30, image_url: "https://images.unsplash.com/photo-1604422237312-37a96a84a4c6?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1650&q=80", price:30, sale:0.02, category: category.first} ])

🍎 프론트앤드에게 데이터 뿌리기

먼저 routes.rbresources :items를 입력한다.

-출처 https://guides.rubyonrails.org/routing.html

입력한다면 저절로 다음과 같은 path가 생성된다. Path가 생성된후 Items컨트롤러에 모든 아이템을 조건없이 뿌려주는 코드를 다음과 같이 작성한다.

class ItemsController < ApiController
    def index 
        render json: Item.all
    end
end

이제 이 주소를 Postman에 입력한다면

정상적으로 데이터를 보낼수있는게 확인이 되었다. 이제 이 데이터를 프론트에 뿌릴 준비가 다 되었으니 프론트쪽 UI 구현과 기능 구현을 시작한다 ....

profile
Front-end Developer 👩‍💻
post-custom-banner

0개의 댓글