1. 구현할 기능은? 특정 옵션이 선택되었을 때 해당 옵션에 관한 데이터 히스토리를 보여주려고 합니다. 옵션은 select 태그로 이루어져 있으며 저는 과제로 예를 들어보겠습니다. 데이터 히스토리는 과제에 코멘트를 달거나 수정할 때마다 DB에 데이터를 쌓고 생성된 시간을 내림차로 정리하여 테이블로 나타낼 것입니다. 2. 로직 생각해보기 처음엔 특정 옵션이 변경될 때마다 ajax를 요청했습니다. 여기서 중요한 점은 dataType을 "script"로 해야된다는 점입니다. 저는 컨트롤러에서 js로 응답할 것이기 때문이죠. comments_controller.rb def get_comment @history = ProjectComment.where(option_id: params[:id]).order(crea..
ruby
ActsAsParanoid 활성화 class Paranoiac < ActiveRecord::Base acts_as_paranoid end 기본적으로 ActsAsParanoid는 레코드 삭제가 datetime의 deleted_at라는 열에 저장되어 있다고 가정합니다. acts_as_paranoid 활성화시 발생할 수 있는 문제점 acts_as_paranoid동일한 모델에서 및 ActiveStorage를 사용 하면 SystemStackError 가 발생 합니다. 삭제된 상태의 모델을 직접 생성하거나 삭제된 모델을 업데이트할 수 없습니다. 필터링 ActsAsParanoid에 의해 레코드가 삭제되면 데이터베이스에 액세스할 때 검색되지 않습니다. Paranoiac.all을 해도 삭제된 레코드는 검색되지 않습니다...
Error Can't verify CSRF token authenticity. Completed 422 Unprocessable Entity in 3ms 문제 상황 ajax를 이용해서 data update를 하려고 할 때 422에러와 함께 csrf token 에러가 발생했습니다. 문제 원인 1. 422 422에러는 서버가 요청을 이해했고 요청 문법도 올바르지만 요청된 지시를 따를 수 없음을 의미합니다. 그러므로 클라이언트는 요청을 수정해야할 필요가 있습니다! (err422는 동일한 형태로 다시 보내서는 안됨을 의미함) 2. CSRF token authenticity Can't verify CSRF token authenticity. 는 레일즈에서 제공하는 form태그로 method 요청시 문제가 없는데,..
루비레일즈 클론코딩 영상 리뷰입니다..:) 기억하고 싶은 부분만 슥삭 메모했습니다. https://www.youtube.com/watch?v=lHRt8TsvQbo pack_controller.rb index 액션 수정하기 publish인 상태만 게시판에서 보일 수 있도록 수정해주어야 한다. def index //@packs = Pack.all @packs = Pack.published end pack 모델 더미 데이터 추가하기 app>models>pack.rb 에 self.set_dummy_datas를 생성 20.times를 통해 20번의 create 반복이 가능하다. faker gem을 활용해 random으로 product_name을 생성한다. https://github.com/faker-ruby/fa..