お久しぶりです。9月にニートから業務委託に昇格し、将来はドローンパイロットになりたいとよくわからないことを思い始めている変人です。
今回は、業務委託中で起こった、formをリロードしないと送信できない!Turbo.falseにしたい!(発狂)
事件についてお話しようと思います。
現象
- 新規投稿・編集画面に遷移後、入力欄に記入はできる。
でも、submitボタンが効かない!!
- rails consoleで保存はできている。
- ブラウザでリロードしたら、submitできる。
原因
<div></div>
のそれぞれの個数が合っておりませんでした(笑)「死にそうです、Turbo切りたいです」とほざいておきながら、divタグをまともに閉じれていませんでした(ポンコツ超えてアホですね笑)
大まかには下記のようになっていました。
_form.html.erb
<div class="hamster">
<%= form_with model: @hamster, local: true do |f| %>
<div class="form">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class="form">
<%= f.label :gender %>
<%= f.select :gender, Gender.pluck(:gender, :id) %>
<%# 閉じタグがここにない🐹 %>
<div class="action">
<%= f.submit %>
</div>
<% end %>
</div>
なので、まず、「Turbo切りたい」と言い出す前に、開始タグと閉じタグの個数を確認してみてください。
意外とフォームが送信できない原因がここにあったりします笑(特に睡眠不足で疲労困憊の方)
参考にした記事
[Rails]リロードしないと投稿できないちょっとした不具合
最後に
お読みいただき、ありがとうございました!
時間があるときに、業務委託の経験を書いていこうかなと思います笑