목록Language/RubyOnRails (10)
pat coding
# 예외 발생시키기 raise "error!" raise StandardError, "error!" # 예외처리 begin # 예외가 발생할 가능성이 있는 구문 file = File.open('text.txt') rescue => e # 발생한 예외를 보완 처리 # 예외 객체를 변수 e에 대입 puts "Error #{e.class}!" else # 예외가 발생하지 않은 경우 실행되는 처리 ensure # 예외 유무에 상관없이 실행시킬 구문 file.close if file end begin으로 시작하는 코드 덩어리는 예외사항이 발생할 때 까지 실행되며, 예외가 발생하면 컨트롤이 에러 처리 코드쪽으로 넘어가게 됩니다. 이 에러 처리 코드는 rescue로 표시됩니다. 만약 아무 예외사항도 발생하지 않는다면..
자주사용하는 메소드정리! 1. scan - 문자열을 나눠서 배열로 저장 a = "cruel world" a.scan(/\w+/) #=> ["cruel", "world"] a.scan(/.../) #=> ["cru", "el ", "wor"] a.scan(/(...)/) #=> [["cru"], ["el "], ["wor"]] a.scan(/(..)(..)/) #=> [["cr", "ue"], ["l ", "wo"]] 2. valid? - 오류를 확인하는 메소드 my_person = Person.create(params[:person]) my_person.valid? # => true my_person.errors.add('login', 'can not be empty') if my_person.login..
1. 배열 만들기 # 기본적인 배열 만들기 arr = [] arr2 = Array.new # 여러가지 배열 만들기 arr_with_stuff = ["value", "separated by comma"] arr_with_stuff2 = Array.new(["a", "b", "c"]) range_to_arr = (1..9).to_a # 중복 배열 만들기 arr = Array.new(5, " ") puts -> [" ", " ", " ", " ", " "] # %w 를 통한 문자열 배열 만들기 arr = %w(cat dog mouse 1 2) puts -> ["cat", "dog", "mouse", "1", "2"] 2. 메소드 - split # 문자열을 배열로 분할 # 분할하려는 인수를 넣지 않으면 공백으로..
1. respond_to 형식에 따라 다른 템플릿을 출력해주는 메소드 여러가지 템플릿(HTML, JSON, XML 등등) 의 형식으로 출력이 가능하다. 2. redirect_to 어딘가로 이동한다는 뜻 밑의 예시에서는 post가 save에 성공하면 게시물로 이동하게 된다. 3. flash flash[:notice], flash[:alert] 등으로 성공했을때와 실패했을때 메세지를 띄워줄수있다. 독자적인 notice, alert 등의 이름으로도 사용할 수 있다. flash[:아무 이름] = "넣고 싶은 메시지" 형식으로 사용도 가능 def new respond_to do |format| if @post.save format.html {redirect_to @post, notice: '저장이 성공적으로 되었..
write_xlsx 루비온레일즈에는 excel 읽고 쓰기, 내보내기가 가능한 gem 들이 있다. 그 중 내보내기 gem 인 write_xlsx 를 알아보자. book = WriteXLSX.new(파일 경로) : 파일 생성 sheet = book.add_worksheet : 워크 시트 생성 book.add_format : 옵션(텍스트 및 색 등) sheet.write_string(행, 열, 내용, 옵션) : 셀 추가 sheet.freeze_panes(고정할 셀) : 헤더로 고정 sheet.set_column : 열 설정 sheet.set_row : 행 설정 WriteXLSX.new 를 통해 파일 경로를 설정해주면 원하는 곳에 파일이 생성된다. file_path = "/home/ubuntu/download/..
Active Record 란? 레일즈 아키텍쳐의 모듈 이름이며, 엔터프라이즈 어플리케이션 아키텍쳐의 패턴 중의 하나이다. 데이터베이스 테이블과, 객체를 연결(ORM)하여 객체의 property를 이용해 데이터베이스를 읽고 쓸 수 있다. 도메인 로직이 복잡하지 않은 CRUD같은 경우에 사용하며, 매우 간편하고 빠르게 만들 수 있는 장점이 있다. 하지만 복잡하고 거대한 스케일의 어플리케이션은 구현이 복잡하므로 엑티브 레코드와 맞지 않는다.