Rails로 기본 정보 기술자 시험의 과거 문제 사이트를 만든다(4:부모와 자식 관계, 참조편)

소개



유루~쿠 배운다. 모두의 웹 공부 커뮤니티. "뉴~부루회"를 운용중입니다.
h tps : // 네 w 부루. 기주 b. 이오/

거기서, 뭔가 교육용의 컨텐츠를 갖고 싶어~라고 생각하고, 이번 기획을 스타트했습니다!

Rails에서 기본 정보 기술자 시험의 과거 문제 사이트를 만듭니다!

최종 목표


  • 문제 및 답변 등록은 Scaffold에서 간단하고 OK
  • API를 준비하고 무작위로 문제를 추출하는 기능을 추가합니다
  • TwitterBOT, LINEBOT, SlackBOT이 가능하면 좋을 것입니다

  • 히스토리



    1: 구축편
    htps : // 코 m / 네 w 부루 / 있어 ms / 에 d59f47 아 c645b19620f6
    2:일본어화(i18n)편
    htps : // 이 m/네 w부루/있어 ms/4f12fdb61bf6cd601545
    3:부모와 자식 관계, 등록편
    htps : // 코 m / 네 w 부루 / 있어 ms / f2 아 20289
    4:부모와 자식 관계, 참조편
     본 페이지
    5: API편
    htps : // 코 m / 네 w 부루 / 있어 ms / 89f9f847 아 2648 bd d006c
    6:SlackBOT편
    htps : // 이 m / 네 w 부루 / 있어 ms / 감히 b9 아 cb453이다 786bd59
    7 : Heroku 배포 ~ 자동화 편
    htps : // 이 m / 네 w 부루 / 있어 ms / 0 아 8 ㄴ b02 에 1 8 c8 737 c7

    이번에 할 일


  • 등록 된 부모 - 자식 관계에 대한 정보를 참조 시스템 화면에 표시합니다.

    ※레이아웃을 하려고 생각했습니다만, 이쪽이 우선이므로, 예정을 변경하였습니다.

    등록한 부모와 자식 관계의 정보를 참조 시스템의 화면에 표시합니다.



    1. 우선, 현상을 확인합시다.



    등록 화면


    문제 목록 화면


    문제 참조 화면


    2. 문제 참조 화면의 View를 수정합니다.



    이번 할 일은 여기.


    문제 참조 화면에 답변 목록을 추가하겠습니다!

    원래 소스



    app/views/questions/show.html.slim
    p#notice = notice
    
    p
      strong = "#{Question.human_attribute_name(:category1)}:"
      = @question.category1
    p
      strong = "#{Question.human_attribute_name(:category2)}:"
      = @question.category2
    p
      strong = "#{Question.human_attribute_name(:category3)}:"
      = @question.category3
    p
      strong = "#{Question.human_attribute_name(:msg)}:"
      = @question.msg
    
    // ここに回答一覧を足していきます。
    
    => link_to t('btn.edit'), edit_question_path(@question)
    '|
    =< link_to t('btn.back'), questions_path
    

    수정 후 소스



    app/views/questions/show.html.slim
    p#notice = notice
    
    p
      strong = "#{Question.human_attribute_name(:category1)}:"
      = @question.category1
    p
      strong = "#{Question.human_attribute_name(:category2)}:"
      = @question.category2
    p
      strong = "#{Question.human_attribute_name(:category3)}:"
      = @question.category3
    p
      strong = "#{Question.human_attribute_name(:msg)}:"
      = @question.msg
    
    // ここに回答一覧を足します。
    p
      strong = "#{Question.human_attribute_name(:answers)}:"
      // 問題の子供として、has_manyしているanswersでループ(each)します。そして、その値(回答モデル)はanswerに渡します。
      - @question.answers.each do |answer|
        p
          strong = "#{Answer.human_attribute_name(:msg)}:"
          = answer.msg
        p
          strong = "#{Answer.human_attribute_name(:correct)}:"
          = answer.correct
    
    => link_to t('btn.edit'), edit_question_path(@question)
    '|
    =< link_to t('btn.back'), questions_path
    
    

    완성된 화면



    추가되었습니다!


    이번에는 여기까지



    고마워요!
    화면 주위는, 아직도 깨끗하게 하는 요소는 가득 있지만,
    다음 번은, API화해 갈까.
  • 좋은 웹페이지 즐겨찾기