on Rails 튜토리얼 3장 - 연습 및 답변

연습


  • StaticPages 컨트롤러 테스트 (목록 3.22)에 중복이 있음을 알 수 있습니까? 특히 "Ruby on Rails Tutorial Sample App"을 모든 타이틀 테스트에서 그대로 사용하고 있습니다. 전용 설정 함수 (테스트 구성 함수, 개별 테스트 전에 항상 매번 실행됨)를 사용하여이 중복을 제거하고 테스트 수정 후에도 목록 3.38의 테스트가 Green이되는지 확인하십시오. (또한 목록 3.38에서는 인스턴스 변수(2.2.2 및 4.4.5)와 문자열 표현식 확장(4.2.2를 사용합니다.).
  • 샘플 애플리케이션에 Contact(문의처) 페이지를 작성하십시오. Listing 3.13을 참고하여/static_pages/contact라는 URL 페이지에 "Contact | Ruby on Rails Tutorial Sample App"이라는 제목이 있는지 확인하는 테스트를 먼저 작성한다. 3.3.3에서 About 페이지에했던 것처럼 Contact 페이지에도 목록 3.39의 내용을 표시합시다 (목록 3.39에는 목록 3.38과 같은 수정이 이루어지지 않았으므로 그대로 복사해도 움직이지 않습니다).

  • 출처) Ruby on Rails 자습서: 예제를 사용하여 Rails 배우기

    대답



    1.
    test/controllers/static_pages_controller_test.rb에 다음을 추가

    static_pages_controller_test.rb
     def setup
        @base_title = "Ruby on Rails Tutorial Sample App"
      end
      ・
      ・
      ・
       assert_select "title", "Home | #{@base_title}"
      ・
      ・
      ・  
        assert_select "title", "Help | #{@base_title}"
      ・
      ・
      ・
        assert_select "title", "About | #{@base_title}"
    



    2.
    절차:
    ① (test/controllers/static_pages_controller_test.rb에) contact 테스트 작성
    ② (config/routes.rb로) contact rooting 설정
    ③ (app/controllers/static_pages_controller.rb에) contact의 컨트롤러 작성
    ④ (app/views/static_pages/contact.html.erb에) contact의 뷰를 작성













    좋은 웹페이지 즐겨찾기