해당 글은 https://blog.naver.com/kbs4674/221420285631 로 부터 게시글이 이전되었습니다. 루비온 레일즈에서 다루는 여러가지 메소드를 소개하고자 합니다. 위 테이블의 자료를 기반으로 한번 여러 메소드를 알아보겠습니다. 1. where VS find_by 1) where : 조건에 맞는 데이터에 대해 여러 개의 데이터 결과가 출력됩니다. # Model.where(attribute: value) Post.where(title: "서윤 연구소") 2) find_by : 조건에 맞는 데이터에 대해 한 개의 데이터 결과가 출력됩니다. 출력되는 한 개의 데이터는 제일 처음에 쓰여진 데이터입니다. 번외 여기서 where에 대해서 좀 더 깊게 짚어보자면, 아까와는 조금 다르게 # Mod..
참고 해당 실습은 댓글 비동기 구현을 Base로 설명이 됩니다. 해당 실습을 그대로 따라하고 싶으신 분은 사전에 프로젝트에서 다음 과정을 따라해주세요. git clone https://github.com/kcm4674/ex_devise cd ex_devise gem install rails --version=5.2.3 bundle install rake db:drop; rake db:migrate; rake db:seed 그동안 저희는 동기 형식으로 레일즈 내의 모든 이벤트가 이루어졌습니다. 대표적인 예로, 게시글 작성/수정/삭제 등 데이터 처리에 대해 이벤트 처리 홈페이지가 한번 새로고침이 되는 현상, 이것 자체가 동기라고 보시면 되겠습니다. 동기 개념 요청을 하는 시기와 응답을 받는 시기가 일치 이벤..
Post 모델에 종속된 댓글 구현을 한번 해보겠습니다. 참고 게시판이 될 Post 모델은 간단히 Scaffold로 구현으로 진행됩니다. 1 : M을 활용한 댓글 구현 1. 게시판이 될 Post Scaffold를 생성합니다. rails g scaffold post title content:text 참고 Scaffold 개념 [클릭] 2. 터미널에서 다음 명령어를 입력해서 Comment Model 및 Controller을 형성합니다. rails g model comment post_id:integer body:text 참고 post_id는 외래테이블(Post) 참고용으로 쓰일 예정입니다. rails g controller comments create destroy 참고 create : 새로 작성된 댓글 관련..
해당 글은 https://blog.naver.com/kbs4674/221236404213 로 부터 게시글이 이전되었습니다. 보통은 코드를 하나의 파일속에 모두 뭉쳐놓으면 다른 사람과 협업할 때 불편하다는 단점이 존재합니다. (C언어로 표현하자면 메인함수 안에 모든 코드를 표현하는거라고 볼 수 있음.) 코드의 분산 개념인 render 대해 내용을 다뤄보겠습니다. 코드의 분산 : render 예시 보기 레일즈에서도 코드를 분산하는 명령어인 render 이라는 개념이 존재합니다. 일단 2가지 케이스 예시를 보여드리겠습니다, Case1 게시글 내용 열람 ( app/views/posts/show.html.erb ) 1.아래 코드는 게시판(Scaffold)의 app/views/posts/show.html.erb 내..
해당 글은 https://blog.naver.com/kbs4674/221556218480 로 부터 게시글이 이전되었습니다. Rails 5.2 버전에서는 이제 공식적으로 AWS S3, 구글, MS, Mirror의 클라우드 서비스 연동 제공을 합니다. 과거에 이미지/파일 업로드 후 클라우드 서버와 연동을 위해선 fog & CarrierWave Gem을 통해서 했어야 하지만 이제는 Active Storage 기능을 통해서도 가능해졌습니다. 어찌보면 Active Storage와 과거의 결과는 거의 비슷하긴 하나, 그래도 레일즈 쪽에서 클라우드 서비스를 공식적으로 연동 시킨것에 큰 의미가 있다고 생각합니다. Chapter 1 Active Storage 기본 셋팅 및 Local에 이미지 업로드 1. 프로젝트 생성 ..
해당 글은 https://blog.naver.com/kbs4674/221061456219 로 부터 게시글이 이전되었습니다. Turbolink 터보링크는 레일즈에서 기본적으로 제공되는 기술 중 하나로서, 사용자가 link 클릭으로 인해 홈페이지 view가 전환될 때 모든 레이아웃이 다 바뀌는게 아니라, 이동 될 다음 페이지에 있어 요청 결과를 파악하고 똑같은 부분은 놔두고, 변경이 있는 부분만 전환을 시키는 최소한적 페이지 로딩을 도와줍니다. 덕분에 전체 페이지 content를 로딩을 하지 않다보니 속도면으로는 확실히 빠릅니다. jQuery javascript의 모듈로서, 기존의 javascript 쌩 코드만으로는 개발시간이 너무 오래 걸리는 부분에 대해 간단한 메소드 하나로 손쉽게 동작이 되도록 지원해줍..
해당 글은 https://blog.naver.com/kbs4674/221176581819 로 부터 게시글이 이전되었습니다. 과거 MVC 패턴을 배워보고자 노가다 CRUD 게시판 제작법[클릭] 글을 쓰면서 한번 언급을 하긴 했습니다만, 과거에 저술한 방법은 보안에 취약한 단점이 존재합니다. 그 대안으로 떠오른 방법이, 간단한 '1줄의 명령어' 면은 바로 게시판이 만들어지는 'Scaffold' 라는 명령어 입니다. 이번 시간에는 'Scaffold'를 활용하여 게시판을 제작해보겠습니다. 1초만에 만들어 보는 CRUD # rails g scaffold [Model이름] [Attributes...] rails g scaffold post title content:string 레일즈에서는 재밌게도 위 명령어 한 줄..
해당 글은 https://blog.naver.com/kbs4674/221682881216 로 부터 게시글이 이전되었습니다. 해당 글은 당근마켓에서 주최한 루비 4번 째 모임(19. 10. 10)에서 소개된 이슈 및 해결법입니다. bundle update --conservative 때로는 Ruby on rails 기반 웹사이트를 운영하면서, 피하고 싶지만 피할 수 없는 순간이 있습니다. 바로 Update입니다. 그런데 선뜻 bundle update 명령어를 치기란 쉽지 않습니다. 왜냐하면 Gem의 Update로 인해 버전에 따라 문법이 달라지거나, Gem 버전의 업데이트 규칙에 따라 Gem의 설정을 재정의를 하고자 추가적으로 config 폴더 혹은 config/initializers 에서 코드를 입력을 해..