[Ruby on Rails5 애플리케이션 프로그래밍] 학습 로그 #1[2019/12/11]

마지막 ->
다음 번 -> [Ruby on Rails5 애플리케이션 프로그래밍] 학습 로그 #2[2019/12/12]

목적



Progate에서 배운 것을 로컬 환경에서 손을 움직여 복습하여 기초를 굳힌다



사용할 교재



야마다 쇼히로(2017). RubyonRails5 어플리케이션 프로그래밍 주식회사 기술평론사



Q.「RubyonRails5 어플리케이션 프로그래밍」이란?



A.Progate의 RoR 코스를 마친 후 하는 RoR 공부로 추천되는 책



출처
(Samurai Blog/Ruby on Rails 학습책 추천 6선【입문자~상급자까지 레벨별로 해설】)[ htps //w w. 세주쿠. 네 t/bぉg/110292 ]

오늘 한 일



환경 설정(p19~p20)



CentOS7/Ruby 2.6.5/Rails 5.0.7.2



새로운 앱 (앱 이름 : railbook) 만들기 (p22 ~ p24)



터미널
rails new railbook

앱 시작하기 (p25 ~ p26)



터미널
rails s

브라우저 (Mozilla Firefox)를 사용하여 http://localhost:3000으로 이동
->오류를 토했다


오류 코드를 복사하고 구그하자마자 해결책이 나왔다.

터미널
vi Gemfile
---------------------------------
[Gemfile]
'sqlite3'
を
'sqlite3', '~> 1.3', ' < 1.4.0'
に変更
---------------------------------
bundle up sqlite3
rails s



출처
자정 엔지니어링 / Rails 5.x: Specified 'sqlite3' for database adapter, but the gem is not loaded. Add gem 'sqlite3' to your Gemfile

컨트롤러 기본(p27~p33)



hello라는 컨트롤러 만들기



터미널
rails g controller hello

hello_controller.rb에 문자를 출력하는 액션 메소드 추가



routes.rb가 hello 컨트롤러의 index 액션을 호출하도록 라우팅합니다.



뷰 기본(p34~p43)



ERB란? -> HTML에 Ruby를 포함시키는 (embedded) 메커니즘



템플릿 변수 설정



템플릿 파일 만들기



모델 기본(p44~p62)



O/R매퍼란? -> 오브젝트 모델 (앱 측)과 관계형 모델 (데이터베이스 측) 사이의 갭을 해소하는 것



YAML이란? -> 데이터 구조를 들여 쓰기와 기호로 표현하는 파일 형식



모델 클래스 만들기



터미널
rails g model book isbn:string ・・・

마이그레이션(테이블 레이아웃 작성 및 변경 방법) 파일을 실행하여 테이블 작성



터미널
rails db:migrate

rails dbconsole로 데이터베이스 내용 확인



터미널
rails dbconsole
# テーブルの一覧を表示
sqlite> .tables
# booksテーブルの構造を確認
sqlite> .schema books
# booksテーブルの内容を確認
sqlite> select * from books;

데이터 획득



1. hello_controller.rb에 list 액션 추가



2. app/views/hello에 템플릿 파일(list.html.erb) 만들기



3. routes.rb가 hello 컨트롤러의 list 액션을 호출하도록 라우팅합니다.



손잡이 (경미) 곳


  • 앱 별 설정을 정의하기 위해/config 폴더 아래에 my_config.yml을 만듭니다
  • 초기화 파일에서 명시 적으로로드하기 위해/config/initializers 폴더 아래에 my_config.rb를 만듭니다
  • hello_controller.erb에 전역 변수를 사용하는 액션 메소드 정의
  • rails s에서 실행

  • ->오류를 토했다

    오류 내용
    (<unknown>): found character that cannot start any token while scanning for the next token at line 2 column 1 (psych::syntaxerror)
    

    복사하고 구그하면 해결책이 나왔다.
  • yml 파일은 탭의 사용이 인정되지 않은 것 같기 때문에
    my_config.yml의 탭을 지우고 공백으로 바꿨습니다

  • 출처
    teratail / [Rails] [SyntaxError] $ rails db:create 를 할 수 없습니다.

    명령 요약



    콘솔
    #アプリの作成
    rails new appName [option]
    #サーバの起動
    rails s(erver) [option]
    #コントローラクラスの作成(ビューの自動生成)
    rails g(enerate) controller name [option]
    #まとめて削除
    rails destroy controller name [option]
    #モデルの作成
    rails g(enerate) model name field:type [option]
    #マイグレーションファイルの実行
    rails db:migrate
    #sqliteクライアントを起動
    rails dbconsole
    

    좋은 웹페이지 즐겨찾기