####【ページ内リンク】
0.環境
1.事象
2.解決策
3.解決策2(turbolinks削除)
#0.環境
・AWS
・Rails 5.2.4.5
・ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
・MySQL 5.7.31
#1.事象
example.html.erb
<% team = Team.find(1) %>
<table>
<%= form_with model: team do |f| %>
<%= f.text_field :name %>
<%= f.submit "登録" %>
<% end %>
</table>
これで登録
ボタンを押しても送信されない・・・
※ちなみにページ再読み込み(F5)
すれば普通に作動した
#2.解決策
どうやら<table>
内ではform_with
は上手く作動しないみたい。なのでform_with
を<table>
の外に出した
solution.html.erb
<% team = Team.find(1) %>
<%= form_with model: team do |f| %>
<table>
<%= f.text_field :name %>
<%= f.submit %>
</table>
<% end %>
これでうまく作動した
※ちなみに<thead>
や<td>
内にform_with
を入れても問題なかった
※しかしそれらが<table>
の入れ子になってたらやっぱりOUT
#3.解決策2(turbolinks削除)
application.html.erb
↓</head>の上にあるこの1行(いわゆるturbolinks)を削除する
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
・turbolinks
は、ページ遷移の際、いちいち読み込みをする必要を無くす役割。(ページ遷移しても更新ボタン
が変化しない)
・1.事象で書いた通り、F5をすれば作動したことから、試しにturbolinks
を削除したら正常に作動した