【rails6】form의 송신을 해도 페이지가 천이하지 않는 문제의 해결
오늘도 응용 프로그램의 문제를 조사하고 있었는데, 예상치 못한 실수를 발견했으므로 공유합니다.
발생한 문제
앱의 양식, 제출 버튼(submit)을 눌러도 화면이 전환되지 않음
실제로 현상을 확인하십시오.
보이지 않지만,
'채팅 시작' 버튼을 연타하고 있습니다.
이 코드를 확인하십시오
show.html.erb
<%= form_with model: @room do |f| %>
<%= fields_for @entry do |e| %>
<%= e.hidden_field :user_id, value: @user.id %>
<% end %>
<%= f.submit "チャットを始める", class:"mini-send-btn user-show-chat" %>
<% end %>
문제는 이 곳
<%= form_with model: @room do |f| %>
사실 form_with에는 turbolinks가 관련되어 있다고합니다.
나는 여러가지 사정으로 turbolinks를 해제하고 있기 때문에, 이것으로는 화면 천이를 할 수 없는 것도 납득이군요.
해결 방법
해결책은 다음 두 가지가 있습니다.
①turbolinks 켜기
app/javascript/packs/application.js
require("turbolinks") // 初期設定ではONになってますが、ご確認ください
②이 폼으로 Ajax 통신을 사용하지 않는다(local: true를 추기합니다)
show.html.erb
<%= form_with model: @room, local: true do |f| %> # local: trueを追記します
그럼 이것으로 해보자!
나는 ②의 방법으로 갈거야.
먼저 방금 코드를 고쳐
show.html.erb
<%= form_with model: @room, local: true do |f| %>
<%= fields_for @entry do |e| %>
<%= e.hidden_field :user_id, value: @user.id %>
<% end %>
<%= f.submit "チャットを始める", class:"mini-send-btn user-show-chat" %>
<% end %>
이것으로 해결이군요!
지금까지 아무렇지도 않게 쓰거나 쓰지 않았던 기술이지만, 매우 중요한 일이라고 인식했습니다.
※이 GIF에 있는 또 다른 실수는 놓치세요, 앞으로 고쳐
Reference
이 문제에 관하여(【rails6】form의 송신을 해도 페이지가 천이하지 않는 문제의 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takapon21/items/186172023415cf9a5db0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)