Rails에 대해 둘러보기

Look around Rails

참고

1) 전 글에서 마지막에 언급했지만,http://c9.io를 끄면 조금있다 홈페이지 서버도 함께 꺼집니다.

다음에 다시 왔을 때 다시 서버를 키고싶으시면 rails s -b $IP -p $PORT 를 입력해 주시면 됩니다.

2)http://c9.io에 오시면 자신의 위치가 디렉토리 하단에 위치하게 됩니다.

디렉토리 하단에서는 rails s -b $IP -p $PORT 등과 같은 명령어는 먹히지 않으므로, cd (자신의 프로젝트명)을 입력해서 자신의 프로젝트 디렉토리 내에서 rails 명령어를 입력해주시기 바랍니다.

예 : 전에 제가 'kcm'이라는 프로젝트명을 지었었죠? 그렇다면, cd kcm

3) 만약 명령어 입력이 안되는 것 같으면 아래 사진과 같이 '새로운 터미널'을 생성해서 새로 생긴 터미널 탭에서 명령어 입력을 해주시기 바랍니다.

이번 글에서는 Rails에 대해 저도 부족한 실력도 있어서 설명이 위험할 수 있는데.. 우선 Rails에는 무엇이 있는지 간단히 둘러보고자 합니다.


간단한 설명과 함께 둘러보는 Ruby

  • rails g controller (controller 이름)을 입력해서 새 controller을 생성합니다.

1) 저는 controller를 'pikachu'로 했습니다.

2) 만약 명령어가 먹히는 것 같지 않다 하면 '참고'의 2번 째 혹은 '참고'의 3번 째 를 참고 바랍니다

그럼 제 기준으로,project_ruby > kcm > app > controllers에 pikachu_controller.rb가 생성되었습니다.

그리고 project_ruby > kcm > app > controllers에 위치한 application_controller.rb 파일에 가시면

protect_from_forgery with: :exception

위의 코드내용이 보일텐데 이걸 주석처리 합니다.

#protect_from_forgery with: :exception

위 코드처럼 코드내용 앞에 '#'을 붙이면 됩니다.

protect_from_forgery with: :exception

위 코드는 차후에 게시판 등에 있어 CSRF 방지를 하고자 보안을 위해 있는 코드입니다.

현재 및 차 후 과정 까지로서는 이 코드가 필요 없어서 주석처리를 함을 알립니다.

  • pikachu_controller.rb와 동시에 생성된 project_ruby > kcm > app > views > pikachu 에서 'pikachu' 폴더에 우측마우스 클릭 후, 'New File'을 클릭합니다. 그리고, .erb 확장자의 파일을 만듭니다.

저는 body.html.erb라고 지었습니다.

  • project_ruby > kcm > config 에 있는 'routes.rb'를 클릭합니다.

그리고 내용에 root "pikachu#body"를 입력합니다.

여기서root는Ruby의 약속된 언어로, '맨 처음 접속하면 "pikachu#body"로 이동시키겠다.' 를 뜻하는 듯 합니다.

pikachu#body는 pikachu_controller.rb에 종속된 'body.html.erb'를 뜻합니다.

  • 아까 전 과정에서pikachu 폴더에 만들어냈던 body.html.erb를 클릭해내서 아주 간단하게 HTML언어 작성을 해봅시다.

<h1 align="center">내 사이트에 첫 방문하면 여기 페이지를 보겠지??</h1>

  • 저는 예시로 위 코드를 작성했습니다.

지금까지의 내용을 우선 모두 저장합니다.

위 메뉴에 보이는 'File > Save All' 을 클릭해주세요!

[참고] 개별 파일 저장 : Ctrl + S (모든 파일에 대한 저장이 아니니 주의하세요!)

  • rails s -b $IP -p $PORT 를 치시면 나오는 자신의 서버 주소로 가셔서 1차적인 홈페이지 결과물을 봅니다.

Rails : 여러가지 짤막한 팁 및 참고사항

  • Rails에서는 주석처리 시에는 #(내용) 입니다. (#가 있는 1줄 내에서 주석처리 됩니다.

  • project_ruby > kcm > app > views > layouts 에 있는 'application.html.erb'에 대해 잠깐 짚고 넘어가고자 합니다.

현재 저희 전체적인 사이트 틀이 어찌보면 위 사진 틀과 같다고 보면 됩니다.

route.rb에서 지정해준 root(처음 접속 시 보여지는 사이트)는 저 <body> 태그 내에 있는 <%= yield %>를 통해 불려지는 것이라고 보면 됩니다.

head에 js, css 등을 추가시키면 전체적으로(?) 적용될 것 입니다. (예 : 부트스트랩 적용 등.)

  • 이미지를 올리고 싶으시다면 project_ruby > kcm > public 폴더에 올려주시면 됩니다. 저같은 경우는 체계적인 정리를 위해

public 폴더 내에서 'img' 라는 폴더를 생성해서 이 안에 집어넣습니다.

그리고 Ruby 내에서 이미지를 불러올 시public 폴더에 img 폴더가 있다는 가정 하에 <img src="/img/이미지이름.확장자">이렇게 불러오시면 됩니다.

미리 알아두면 좋은 코딩 (뷰 헬퍼) :

erb 파일에서는 <ims src="사진경로"> 말고 <%= image_tag "사진경로" %> 를 쓰는게 좋습니다.

results matching ""

    No results matching ""