
models 폴더 및 db/migrate 폴더 내에 Migration 구축이 마무리 되었다고 가정한다.
ruby script/server를 입력하여 서버 실행
ruby script/generate controller 파일명
rails g controller 파일명
터미널에 위와 같이 입력하면

이 생성된다. views/파일명 내의 rhtml 파일은 직접 작성해야한다.
models는 사전에 작성해놓은 것이다.
views/layouts/application.rhtml
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<%= yield %>
</body>
</html>
주소가 A일 때 B controller의 C action을 실행할 것을 명시한다.
config/routes.rb
map.connect "주소A", :controller => "[views내]의 파일명B", :action => "[views/파일명] 내의 실행시킬 rhtml의 파일명C"
map.connect "주소A",
:controller => "[views내]의 파일명B",
:action => "[views/파일명] 내의 실행시킬 rhtml의 파일명C"
map.connect "", :controller => "login", :action => "index"
# Install the default route as the lowest priority.
map.connect ':controller/:action/:id.:format'
map.connect ':controller/:action/:id'
❗ 주소 또한 함수로 넣을 수 있다.
해당 객체를 클릭했을 때, location.href를 변경시킨다.
controllers/login_controller.rb

현재 지정된 controller의 action 함수가 위와 같이 작성되어있다고 가정할 때,
views/login/index.rhtml
<button onclick="location.href='<%= url_for :action => :해당 controller의 함수명 %>'"> </button>
<button onclick="location.href='<%= url_for :action => :[views/파일명] 내의 실행시킬 rhtml의 파일명C %>'"> </button>
<button onclick="location.href='<%= url_for :action => :auth_login %>'">로그인</button>
이벤트가 발생했을때, 다른 함수를 돌린 후 결과에 따라 다른 방향으로 이동 시킬 때에는 주로
해당 controller의 action 함수명(ex: :auth_login)을 작성한다.
이벤트가 발생했을때, 항상 같은 곳으로 이동시킨다면
[views/파일명] 내의 실행시킬 rhtml의 파일명C(ex: "index")를 작성한다.
❗ onclick 이벤트가 달린 객체가 button이고, 그 type이 submit일 때는 submit을 우선하여 작동하기 때문에 action이 되지 않는다.
controller, action등을 재연결한다
controllers/login_controller.rb
redirect_to :controller => :타 controller 명, :action => :해당 controller의 action 함수명
redirect_to :controller => :article, :action => :list
❗ controller를 명시하지 않으면 현재의 controller로 유지된다.
화면을 작성한다.
controllers/login_controller.rb
render :controller => :타 controller 명, :action => :해당 controller의 action 함수명
render :controller => :article, :action => :list