rails(9)
-
[rails] 로그에서 작업자 찾기
상황 작업자가 과도한 데이터 import, export를 해서 rails가 뻗은 상황. 범인(?)을 색출(?) 하기 위해 리눅스 머신에서 확인을 해봤다. 범인 색출 rails/project/log 폴더에 로그가 잘 남아있다. config에 생성한 방식에 따라 로그가 남는데 development.log, production.log 같은 이름으로 남아있다. 거의 마지막 줄에 Processing by TABLE as HTML 형태로 남은 로그의 Parameters에 "authenticity_token"을 확인한다. 대충 G5pF6hSPx0Vf21Fi0FC이런 이상한 이름으로 된 토큰으로 검색해서 범인을 찾으면 된다. 윈도우라면 Notepad++이나 VS Code를 사용하면 될 것이다. 리눅스라면 grep 명령..
2019.08.19 -
[rails] 스캐폴딩 기능 개발 기초 : 상세 화면 작성
1234567891011121314151617[elkiss@elkiss-centos controllers]$ vim books_controller.rb before_action :set_book, only: [:show, :edit, :update, :destroy]... def show end... private # Use callbacks to share common setup or constraints between actions. def set_book @book = Book.find(params[:id]) end # Never trust parameters from the scary internet, only allow the white list through. def book_params pa..
2016.08.14 -
[rails] 스캐폴딩 기능 개발 기초 : 목록 화면 작성
BooksController 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566class BooksController book은 each 메서드에서 템플릿 변수 @books로 얻은 하나의 객체이다.매개 변수 url에 모델 객체를 적용하면 id를 사용하여 /books/id로 가져온다. link_to 메서드로 특정한 경로 표기(뷰 헬퍼) edit_book_path와 new_book_path는 routes.rb에서 resources 메서드를 호출할 때 자동으로 사용되는 뷰 헬퍼이다.(맨날 회사에서 이게 뭔지 모르고 썼는데 드디어 알았다.) 라..
2016.07.16 -
[rails] 스캐폴딩 기능 개발 기초 : 개요
개요Rails는 추가적으로 쉽게 CRUD(create, read, update, delete)기능을 가진 애플리케이션을 만들 수 있는 기능을 제공한다.이러한 기능을 스캐폴딩이라고 부른다. 스캐폴딩이란 '기반'이란 의미로 골격을 어느정도 만들어 준다. - 일단 동작하는 애플리케이션을 만들고 싶을 때- 데이터 유지 관리 등의 레이아웃을 열심히 만들 필요가 없는 페이지를 대량으로 만들어야 할 때- Rails의 기본적인 CRUD 구현을 이해하고 싶을 때 개발 순서books 테이블과 관련 기능 한번에 생성1rails generate scaffold name field:type [...] [option]cs 마이그레이션 실행1rake db:migratecs 라우트 확인 config/routes.rb 파일을 확인해보..
2016.07.06 -
[rails] 모델 기본
O/R 맵퍼관계형 데이터베이스와 객체 지향 언어의 객체 사이의 징검다리를 놓아주는 라이브러리 관계 불일치(impedance mismatch)애플리케이션 객체 모델과 데이터베이트 관계형 모델의 구조가 차이나는 것을 의미 O/R 맵퍼는 이러한 잘못된 매칭을 제거하기 위한 툴.모델 클래스의 인스턴스는 레코드 한 개를 나타내는 객체로객체의 속성은 테이블의 필드로 그대로 갖게 된다. ex) books 테이블 > 대응하는 모델 Book 클래스books 테이블 내부의 필드 > Book 클래스도 isbn, title 등의 속성을 가짐 데이터베이스 연결 설정database.yml의 YAML 형식으로 작성한다.YAML은 Ain't Markup Language로HTML 이나 XML과 같은 마크업 랭기쥐가 아니라 들여쓰기로 ..
2016.06.27 -
[rails] 뷰 기본
최종적인 출력 ERB(Embedded Ruby)를 사용하는 것이 기본.ERB 템플릿은 HTML에 루비 스크립트를 삽입한 구조. ERB 템플릿의 장점- 임의의 루비 스크립트를 넣어 조건 분기 및 반복 등의 처리를 자유롭게 적용한다.- 뷰 헬퍼를 사용해 데이터베이스에서 추출한 데이터를 기반으로 링크 또는 입력 양식 요소 등을 간단하게 생성한다. 변수 생성controller에서 render로 출력하는 것 콘트롤러에서 직접 출력하는 것.템플릿을 이용하려면 일단 요청 처리를 하는 컨트롤러 클래스(액션 메서드)를 만들어야 한다. hello_controller.rb123def view @msg = 'hello'endcs이딴 식으로! @msg 인스턴스 변후를 생성한 것. 이는 템플릿에서 참조할 수 있다.이제 이것을 ...
2016.06.11