#URL주소창에서
/?dev=sekwang #dev는 키, sekwang은 실제 데이터
#rails에서는 params라는 메소드를 활용해서만 그 데이터를 쓸 수 있다.
## controller에서는 dev 데이터를 보기 위해서는 params 데이터에 볼 수 있다.
name = params[:dev] # 이렇게 변수에 담아서 쓸 수 있다.
## 계산기를 만든다고 생각해보면
### routes.rb에서
get '/sum' => 'home#sum'
### controller에서
def sum
@first = params[:first].to_i
@second = params[:second].to_i
@sum = @first+@second
end
### view
<%= @first%> + <%=@second%> = <%=@sum%> 입니다.
### 주소창에서
/sum?first=10&second=20
# a 태그
<a herf='/?dev=sekwang'> 전송 <a/>
## 버튼 누르면 주소로 이동, 포함되서 요청이 됨 => 쿼리스트링을 지정해서 사용하기 어렵다.
#form 태그
<form action="/sum">
<input type="text" name="first">
<input type="text" name="second">
<button type="submit">제출</button>
</form>
#form태그 에 method 추가
## post저장할 데이터, 보안
## a태그 쿼리 스트링, order, 필터, 개발자가 정해놓은 데이터가 넘겨야 할 때 정해 놓은동작 실행
### form get 구글 검색기능을 구현할 때 많이 사용
<form action="/sum", **method='post'> ## http 메소드란 서버에 주소를 요청을 보낼 때의 방식을 뜻함/ 기본값 get / post는**
<input type="text" name="first">
<input type="text" name="second">
<button type="submit">제출</button>
</form>
# routes. rb post 추가!
**post** "sum" => "home#sum"
#application controller 수정 추가
skip_before_action :verify_authenticity_token
##routes.rb :id가 path 파라미터
get "home/:id" => "home#show"
## home controller
def show
@id = params[:id]
end
## show.html.erb
id는 <%= @id %>
## 주소창에 값에 따라 달라짐
/home/1 => id는 1
/home/sekwang => id는 sekwang
# get "home/:id" => "home#show"
무조건 id데이터값이 필요함.
# 애초에 특정한 데이터를 필수적으로 받아야 하는 요청 페이지는
# path 파라미터 데이터 베이스, 모델과 연결지어 사용됨
## 특정데이터를 가져오는 로직으로 만들 것이다.
참조 : https://www.youtube.com/channel/UCtSgWEneJWFlSTkjHlBZlsA