Rails로 기본 정보 기술자 시험의 과거 문제 사이트를 만든다(1:구축편)
6215 단어 기본 정보 기술자 시험루비Railsapi
소개
유루~쿠 배운다. 모두의 웹 공부 커뮤니티. "뉴~부루회"를 운용중입니다.
h tps : // 네 w 부루. 기주 b. 이오/
거기서, 뭔가 교육용의 컨텐츠를 갖고 싶어~라고 생각하고, 이번 기획을 스타트했습니다!
Rails에서 기본 정보 기술자 시험의 과거 문제 사이트를 만듭니다!
최종 목표
히스토리
1: 구축편
본 페이지
2:일본어화(i18n)편
htps : // 이 m/네 w부루/있어 ms/4f12fdb61bf6cd601545
3:부모와 자식 관계, 등록편
htps : // 코 m / 네 w 부루 / 있어 ms / f2 아 20289
4:부모와 자식 관계, 참조편
h tps:// 퀵했다. 작은 m / 네 w 불 / MS / 51b11BD02691 그림 FC2 c0d
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
이번에 할 일
모델(DB) 생각
Rails에서 웹 사이트를 만들기 때문에 먼저 모델 (DB)의 구성을 생각해 봅시다.
문제를 표시하는 사이트이므로 필요한 모델은 다음과 같습니다.
문제 모델(Questions)
이름
물리적 이름
금형
비고
카테고리 1
category1
문자열(string)
몇년도?
카테고리 2
category2
문자열(string)
봄이나 가을입니까?
카테고리 3
category3
문자열(string)
무엇 질문인가?
문제문
msg
문자열(text)
문제문 등록
※다른 시험의 과거문도 등록할 수 있도록, 「카테고리」라고 하는 분류로 나누기로 합니다.
카테고리 1 ~ 3이라는 이상한 구성이되어 버리고 있습니다 만 ...
IPA의 과거문이용규약에 따라 출전을 기재할 필요가 있기 때문에 이와 같은 구성으로 되어 있습니다.
이해해 주십시오.
답변 모델 (Answers)
이름
물리적 이름
금형
비고
문제 ID
question_id
참조
어떤 문제에 대한 답변을 연결
답변
msg
문자열(string)
답변 등록
정오 플래그
correct
YES/NO(boolean)
정답의 경우는 true(1)
그럼 만들어 봅시다.
rails new를 사용하여 애플리케이션을 작성합니다.
※어플리케이션명은 「quiz」로 합니다.
rails-newrails new quiz -d mysql
※MySQL파이므로, DB를 지정하고 있습니다만, 자유롭게 변경해 주세요.
하지만, 본고에서는 MySQL을 사용해 설명해 갑니다. 양해 바랍니다.
다음으로 DB 만들기
DB 만들기$ rake db:create
Created database 'quiz_development'
Created database 'quiz_test'
여기까지는 항상 그렇습니다.
브라우저에서 움직이는지 확인
rails-server$ rails s
아시다시피, 다음 화면이 나오면 OK입니다!
슬림 적용
개발을 효율적으로 하기 위해 템플릿 엔진을 erb에서 slim으로 변경합니다.
※ erb 그대로가 좋은 사람이나 Haml파 분은 날려 주시면 상관 없습니다.
하지만, 본고에서는 slim을 사용해 설명해 갑니다. 양해 바랍니다.
Gemfile에 추가하여 bundle install
./Gemfilegem 'slim-rails'
bundle-install$ bundle install
기본 템플릿 엔진을 slim으로 변경합니다.
config/application.rbclass Application < Rails::Application
config.generators.template_engine = :slim
end
Scaffold에서 뼈대를 만들어 봅시다.
Scaffold를 사용하여 바삭바삭하게 만드세요!
Scaffold例) rails g[enerate] scaffold モデル名 カラム名1:データ型1 カラム名2:データ型2 …
$ rails g scaffold Question category1:string category2:string category3:string msg:text
$ rails g scaffold Answer question:references msg:text correct:boolean
DB 생성$ rake db:migrate
그럼 확인하겠습니다.
rails-server$ rails s
시작하고 http://localhost:3000/questions/ 에 액세스합니다.
문제 일람 화면은 이런 느낌으로.
신규 작성 화면은, 이런 느낌이군요.
이번에는 여기까지
고마워요!
다음 번은 일본어화(i18n)해 갈까.
Reference
이 문제에 관하여(Rails로 기본 정보 기술자 시험의 과거 문제 사이트를 만든다(1:구축편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/newburu/items/ed59f47ac645b19620f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
rails new를 사용하여 애플리케이션을 작성합니다.
※어플리케이션명은 「quiz」로 합니다.
rails-new
rails new quiz -d mysql
※MySQL파이므로, DB를 지정하고 있습니다만, 자유롭게 변경해 주세요.
하지만, 본고에서는 MySQL을 사용해 설명해 갑니다. 양해 바랍니다.
다음으로 DB 만들기
DB 만들기
$ rake db:create
Created database 'quiz_development'
Created database 'quiz_test'
여기까지는 항상 그렇습니다.
브라우저에서 움직이는지 확인
rails-server
$ rails s
아시다시피, 다음 화면이 나오면 OK입니다!
슬림 적용
개발을 효율적으로 하기 위해 템플릿 엔진을 erb에서 slim으로 변경합니다.
※ erb 그대로가 좋은 사람이나 Haml파 분은 날려 주시면 상관 없습니다.
하지만, 본고에서는 slim을 사용해 설명해 갑니다. 양해 바랍니다.
Gemfile에 추가하여 bundle install
./Gemfilegem 'slim-rails'
bundle-install$ bundle install
기본 템플릿 엔진을 slim으로 변경합니다.
config/application.rbclass Application < Rails::Application
config.generators.template_engine = :slim
end
Scaffold에서 뼈대를 만들어 봅시다.
Scaffold를 사용하여 바삭바삭하게 만드세요!
Scaffold例) rails g[enerate] scaffold モデル名 カラム名1:データ型1 カラム名2:データ型2 …
$ rails g scaffold Question category1:string category2:string category3:string msg:text
$ rails g scaffold Answer question:references msg:text correct:boolean
DB 생성$ rake db:migrate
그럼 확인하겠습니다.
rails-server$ rails s
시작하고 http://localhost:3000/questions/ 에 액세스합니다.
문제 일람 화면은 이런 느낌으로.
신규 작성 화면은, 이런 느낌이군요.
이번에는 여기까지
고마워요!
다음 번은 일본어화(i18n)해 갈까.
Reference
이 문제에 관하여(Rails로 기본 정보 기술자 시험의 과거 문제 사이트를 만든다(1:구축편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/newburu/items/ed59f47ac645b19620f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
gem 'slim-rails'
$ bundle install
class Application < Rails::Application
config.generators.template_engine = :slim
end
Scaffold를 사용하여 바삭바삭하게 만드세요!
Scaffold
例) rails g[enerate] scaffold モデル名 カラム名1:データ型1 カラム名2:データ型2 …
$ rails g scaffold Question category1:string category2:string category3:string msg:text
$ rails g scaffold Answer question:references msg:text correct:boolean
DB 생성
$ rake db:migrate
그럼 확인하겠습니다.
rails-server$ rails s
시작하고 http://localhost:3000/questions/ 에 액세스합니다.
문제 일람 화면은 이런 느낌으로.
신규 작성 화면은, 이런 느낌이군요.
이번에는 여기까지
고마워요!
다음 번은 일본어화(i18n)해 갈까.
Reference
이 문제에 관하여(Rails로 기본 정보 기술자 시험의 과거 문제 사이트를 만든다(1:구축편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/newburu/items/ed59f47ac645b19620f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ rails s
고마워요!
다음 번은 일본어화(i18n)해 갈까.
Reference
이 문제에 관하여(Rails로 기본 정보 기술자 시험의 과거 문제 사이트를 만든다(1:구축편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/newburu/items/ed59f47ac645b19620f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)