LIKELION at 인하대
#5
인하대학교 운영진 채민균

오늘 할 것은
RubyMine + RoR기초
우분투 까느라
고생많았어요 ^^
이제 c9과 작별인사 하세요.
RubyMine을 켜봅니다.


우리는 앞으로 레일즈 프로젝트만 만들 겁니다.
#spec#
ruby : 2.3.1
rails : 5.0.2
db : sqlite3
맥유저 : Documents 폴더 안에
workspace 폴더를 만들고, 그 안에
RubyMineProject 를 만들어줍니다.
테마는 무조건 어두운걸로.


빨간색은 지나가는 개나 줘버려.
자주쓰는 단축키를 알아보자~
맥이랑 우분투랑 단축키가 다른건 안비밀
물론 설정마다 또 다름


Editor Actions
=Move Caret to Code Block End : 커서를 블록 끝으로 이동
=Delete Line : 한 줄 싹 다 지우기
=Move Caret to Matching Brace : 커서를 해당하는 괄호로 이동
=Move Caret to Next Word : 커서를 다음 단어로 이동
=Start New Line : 밑에 새로운 줄을 추가해줌.
=Toggle Case : 대소문자 변환
Main Menu
#File
#=Preferences.. : Preferences.. 열기
#=Save All : 변경사항 모두 저장하기
#Edit 알아서 공부
#Navigate
#=File... : 파일 검색 후 이동
#Code
##Completion
##=Basic : 가능한 함수 및 변수 등등을 알려줌
#=Comment with Line Comment : 한 줄 짜리 주석
#=Reformat Code : 코드정렬
#=Rename : 이름바꾸기
#Run 알아서 공부
#Tools
##extensions
##=Insert '<%= %>' : html에 화면에 출력할 루비코드 넣는 괄호 생성
#=Run Rake Task... : 이부분은 개취
기타 : ctrl + tab
| 파일/폴더 | 목적 |
|---|---|
| app/ | 여기에는 애플리케이션의 컨트롤러, 모델, 뷰, 헬퍼, 메일러, 애셋이 위치하고 있습니다. |
| config/ | 애플리케이션의 설정 파일(라우팅, 데이터베이스 등)이 위치하고 있습니다. |
| Gemfile | 레일스 애플리케이션에서 필요한 Gem들의 의존 관계를 기술되어 있습니다. |
| log/ | 애플리케이션의 로그를 포함합니다. |
| public/ | 이 폴더의 밑에 있는 파일들은 외부(인터넷)에서 직접 참조할 수 있습니다. 정적인 파일이나 컴파일된 애셋들이 이 곳에 위치하게 됩니다. |
| README.md | 애플리케이션의 개요를 설명하는 매뉴얼을 여기에 작성합니다. 이 파일에는 애플리케이션의 설정방법 등을 작성하여, 이 문서만 읽으면 누구라도 애플리케이션을 구축할 수 있도록 해야합니다. |
| vendor/ | 서드 파티에 의해 작성된 코드는 모두 이곳에 넣습니다. 일반적인 레일스 애플리케이션이라면 gem 파일도 이 곳에 두게 됩니다. |

안보고 그릴 수 있게 외우세요.
오늘은 View와 Controller만 다룰거에요.
Live Coding
터미널에 다음과 같이 입력하세요.
controllers/home_controller 가 생겼지요?!
그리고 views/ 폴더에 가보면 home/ 이라는 폴더가 생겼습니다.
config/routes.rb 파일에 가보면 다음과 같이 라우팅이 자동생성됩니다.
get 'home/index'
views/home/index.html.erb 파일도 생겼네요.
index.html.erb 파일에 <h1>hello world!</h1> 를 치고 프로젝트를 실행합니다.
$ rails generate controller home$ rails destroy controller home$ rails g controller home indexQ.routes.rb 파일이 뭐죠?
A. Rails의 라우터는 요청받은 URL을 인식하고 적절한 컨트롤러의 액션에 매칭합니다. routes.rb 는요청받을 URL 과 컨트롤러의 어느 액션에 매칭할지를 명시해주는 파일입니다.
Text
get 'home/index' 의 뜻은
| Prefix | Verb | URI Pattern | Controller#Action |
|---|---|---|---|
| home_index | get | /home/index | home#index |
Q. 그럼 http, http methods 는 뭐죠?
HTTP : HyperText Transfer Protocol
Hypertext는 논리적인 링크(하이퍼링크)를 사용하는 구조화된 텍스트입니다.
http://www.diffen.com/difference/GET-vs-POST-HTTP-Requests
get 방식과 post 방식의 자세한 차이는 위 링크 참조
rails 내부적으로는
http methods 에는 get 방식과 post 방식만 사용합니다.
Live Coding

http://0.0.0.0:3000/
믱? 넌 누구니?
config/routes.rb 파일에 보면 다음과 같이 기술되어 있습니다.
그럼 url에 다음과 같이 입력해보면!
http://0.0.0.0:3000/home/index
Q.그럼 매번 routes.rb 파일을 열어봐야 하나요?
A. 아뇨!
http://localhost:3000/rails/info/routes 에 들어가거나
or
terminal 에 $ rails routes 라고 입력하면 라우팅된 목록을 볼 수 있습니다.
get 'home/index'특정 컨트롤러를 루트로 설정하고 싶다!
Rails.application.routes.draw do
root 'home#index'
get 'home/index'
end
이렇게 설정 후
http://localhost:3000/
로 가보면 home 컨트롤러에 index라는 액션이 실행된다.
저장하고(All Save) 브라우저 새로고침!
class HomeController < ApplicationController
def index
@name = '자기이름'
end
end
controllers/home_controller 파일의 index 액션에 @name = '자기이름' 을 추가해주자
Hello World! <%= @name %><%= @name %>views/home/index.html.erb 파일에 다음을 추가해주자
레일즈 한글판 가이드 참조
끝
하 힘들다..
[멋사 5기] 5회차 RubyMine 사용법과 Ruby on Rails 기초
By mingyun chae
[멋사 5기] 5회차 RubyMine 사용법과 Ruby on Rails 기초
[2017.04.04][멋쟁이사자처럼 x 인하대] - JetBrains 에서 나온 RubyMine IDE 사용법 - 자주 사용하는 단축키 익혀보기 - Hello World 페이지에 띄워보기 - 라우팅 설정해서 루트페이지에 Hello World 띄워보기
- 2,431