본문으로 바로가기

정보를 전달하는 navigation

category Studies/RubyonRails 2022. 1. 17. 22:54

| HTTP 통신

Rails는 RESTful 기반(?)의 프레임워크이기 때문에 편리하게 HTTP 통신을 할 수 있다.

루트와 액션의 개념을 익히면 Rails 에서는 정말 손쉽게 HTTP 통신이 가능하다.

 

| 응용

뷰와 컨트롤러를 추가하고 컨트롤러에 뷰에 맞는 액션을 할당해준다.

이후 루트 구성시에는 view 경로와 action 경로가 서로 일치하도록 해 준다.

home 폴더에 result view 를 추가했을 때의 예시다.

<!--home_controller.rb-->
class HomeController < ApplicationController
  def index
  end
  def result
  end
end

<!--routes.rb-->
Rails.application.routes.draw do
  get 'home/result' ,to: 'home#result'
  root 'home#index'
end

다음은 form 을 이용한 GET 을 구성해준다.

<form action="/home/result" method="GET"> 
  <input type="text" name="query" >
</form>

routes , controller 를 이용한 rails의 navigation을 해보았다.

이러면 result 페이지에서 index 페이지의 form 파라미터를 controller 에서 사용할 수 있다.

 

| 여러 정보를 전달하고 싶다면?

<form action="/home/result" method="GET"> 
  <input type="hidden" name="page" value="1" >
  <input type="text" name="query" >
</form>

type = "hidden" 으로 변수를 넘겨줄 수 있다.