성장의 계절, 모든 강의 30% 할인!

  • 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

루비 마지막 강의[scaffold] 질문드립니다

18.04.09 11:48 작성 조회수 136

0

좋은 강의 쉽게 설명해주셔서 정말 감사드려요!

다른거 다 따라했는데

마지막에 막히는 부분이 있습니다.

[ 저의 개발 환경 ]

– aws cloud9

[ 진행된 부분 ]

$ rails new myproject

$ cd myproject

$ rails g scaffold mypage title:string content:string

$ rake db:migrate

$ rails s

[ 문제점 ]

여기까지 진행하고

페이지를 띄워 봤는데요,

** index 파일을 띄우고 싶은데

그냥 가장 초기화면,

” yay! you’re on rails ”

” rials version : 5.1.6

” ruby version : 2.4.1 ”

이 화면 이 뜹니다 ㅠㅠ

[ 궁금한점 ]

제가 route 파일을 수정해서

resources :mypages => root ’mypages/index’

이렇게 해본결과 첫 화면은 작동되긴 하는데

근본적인 문제해결은 아니라서요…

=> aws c9 환경에서 scaffold 를 정상 작동하는 방법이 궁금합니다.

ps. 좋은 강의 정말 감사드려요 !!

답변 2

·

답변을 작성해보세요.

0

YUN HO LEE님의 프로필

YUN HO LEE

질문자

2018.04.13

정성스런 답변 정말 감사드립니다!

  • 문제는 해결되었습니다.
  • 문제 원인은 기존 c9 과는 달리,
  • => c9 aws 에서, preview 기능으로 웹 화면을 띄울때 자동으로 첫화면을 바로 띄워주지 않는점 이었습니다.

[ 문제 해결 방법 ]

https://8dcfaffa7d794f449ee3e9f24bb8c6ea.vfs.cloud9.us-east-2.amazonaws.com/

=> https://8dcfaffa7d794f449ee3e9f24bb8c6ea.vfs.cloud9.us-east-2.amazonaws.com/mypages

이렇게 주소창 마지막 부분에 " /mypages " 를 추가하면 되네요!

너무 초보라서 이런 작은 문제점도 파악이 힘들었습니다 ㅠㅠ

( 답변해주신 내용은, 제가 질문한 문제랑은 약간 다른거 같습니다만,

route 에 대한 이해와, resource 의 명령어 이해에 많은 도움이 되는거 같습니다! )

차후 추가 강의를 진행하신다고 하시니 정말 기대가 되네요! ㅎㅎ

강좌 많이 찍어주시면 감사하겠습니다 ㅠㅠ

ps. 이강좌 내에서의 질문외에, ruby를 통한 개발관련 공부하면서 개인적으로 가지게된 질문들이 몇가지 있는데요.. 혹시 다른 질문에도 도움을 구할수 있을까요ㅠ

0

안녕하세요 YUN HO LEE님!
좋은 질문 감사합니다.
우선 YUN HO LEE님께서 route를 변경해서 '/' url에 대해 mypages Controller의 index 액션과 연결시키신 듯 합니다.
차후 추가 강의에서 설명드리겠지만, route.rb 파일의 resources 명령어는 웹 페이지를 RESTFUL하게 유지하도록 url을 구성해주는 명령어입니다. scaffolding을 통해 깔끔한 url 구조를 만들어주도록 resources 명령어가 도와줍니다. 현재 주어진 상황에서 저는 2가지 방법을 제안하고 싶습니다.

1. Restful 하게 웹페이지를 유지하는 방법

기존의 URL 방식을 유지하면서 첫 페이지에 접근하면 원하는 페이지로 자동으로 넘어가는 방법을 사용하고 싶다면, redirect_to 명령어를 다음과 같이 추가하면 됩니다.

root to: redirect(mypages_path)  
resources :mypages

2. 첫 페이지 URL에 index 페이지를 보여주고 싶을 때

첫 페이지에 그냥 index 페이지를 보여주고 싶으시다면 질문자님께서 하신 조치도 충분하지만, 가독성을 생각한다면 아래와 같이 고치는 것을 추천합니다.

root to: "mypages#index", as :  :mypages  
resources :mypages, except: :index

3. 저는 url을 다 막 바꿔버리고 싶어요.

음... 그러기 위해서는 resources 명령어에 대해서 이해하셔야 합니다. rails 공식 문서를 참고하셔서 수정하기를 바랍니다. 특히 수정하실 때 2번 답변의 ,as: :mypage 이 부분이 중요합니다. scaffolding View 파일을 보시면 알겠지만 url을 직접 적지 않고 ~_path 형식으로 적혀있습니다. 그 부분과 연동 시키려면 prefix 라는 것을 ,as: 이 부분으로 설정해주어야 합니다.
혹시 제가 잘못 답변한 부분이 있거나 더 궁금하신 점이 있다면 알려주세요!