[Rails] submit 뒤에 redirect.to 움직이지 않을 때의 대응법

일의 시작


그것은 어느 사이트의 복사본을 만들어 공부하던 중 일어난 일이다.
다음 화면에서formwith를 사용하여 입력 화면을 제작합니다.
항목을 입력한 후 드래프트 저장 버튼을 눌러 DB에 데이터를 저장합니다.
그다음에 레드렉트.to화면으로 옮겼는데 왜 화면이 옮길 수 없어요...

전제 조건


웹 패키지 사용

오류 코드


_form.html.slim
= form_with model: @work do |f|
//  入力項目
  = f.submit "下書きを保存", class: "btn btn-outline-primary", id: "draft", name: "draft"
초고 저장 버튼을 누르면workscontroller.실행 rb
works_controller.rb
  def create
    work = current_user.work.new( post_work )
    work.save
    redirect_to user_url( current_user ) #ここの部分でエラー出た
  end

잘못된 내용


Uncaught ReferenceError: Turbolinks is not defined

까닭


터보링크스가 없다고 합니다.
원래 Redirect."to"는 "turbolinks"와 관계가 있습니까?
많이 알아봤어요.
form_with는 기본적으로 aax로 form을 보냅니다.
그ajax로form을 보내면
대상 컨트롤러를 보내는 Redirectto의 행위는 터보링크스와 관련이 있습니다.
works_controller.rb
  def create
    work = current_user.work.new( post_work )
    work.save
    redirect_to user_url( current_user ) #こいつの挙動が少し変わる
  end

해결책


터보링크 도입


단말기
yarn add turbolinks
application.js
import Turbolinks from "turbolinks";
Turbolinks.start();

form에서 aax를 사용하지 않습니다


local: 진짜를 추가해서 aax를 닫습니다
_form.html.slim
= form_with model: @work, local: true do |f|
이제 해결됐어요.

끝맺다


만약 오류 등 다른 좋은 해결 방법이 있다면 댓글에 지적해 주세요.
참고로 이것은 복제된 사이트입니다.
UI 같은 게 너무 예뻐서 첫눈에 반했어요.
RESUME
그리고 복사가 너무 어려워서 제가 대신 웹일기를 썼어요.
RESUME의 작가는 위대하다.

좋은 웹페이지 즐겨찾기