책에서는 app/assets/javascripts/hello.js.coffee가 생성되는데, rails 6.1.0 버전에서는 생성되지 않는다.
generate한 파일은 아래처럼 destroy 명령어로 일괄삭제할 수 있다.
rails destroy controller hello
모든 컨트롤러 클래스는 ApplicattionController:Base 클래스를 상속해줘야한다. 이 클래스가 요청이나 응답과 관련된 모든 처리를 해준다. ApplicationController 클래스는 ApplicationController:Base 클래스를 상속받고 있는 빈 클래스인데 이 클래스를 상속받는게 보통이다.
액션 메서드(액션)은 클라이언트로부터의 요청을 처리하는 메서드이다. 컨트롤러 클래스에서 public으로 공개한 메서드를 뜻하며, 컨트롤러 클래스는 한 개 이상의 액션 메서드를 생성할 수 있다.
일반적으로 액션 메서드는 요청을 처리하거나 모델을 호출하고 뷰에서 사용되는 템플릿 변수를 설정하는 등 다양한 일을 처리한다.
원래 MVC는 컨트롤러에서 출력 값을 직접 생성하면 안되지만 디버그 용으로 render 메서드를 자주 쓴다.
render text: value
책에서는 route 설정을 route.rb 파일에 아래 URL 패턴으로 match 메서드를 이용해서 우선 설정해준다. Rails가 라우트 관련 이념으로 삼고 있는 RESTful과 맞게 설정하는게 중요하다.
match ':controller(/:action(/:id));, via: [ :get, :post, :patch ]'