プログラミングを完全に理解したエンジニアのメモ

チラ裏レベルのことしか書いてないインターネットの藻屑

クリスマスにBoostrapのformタグに苦しめられた話

qiita.com

の24日目の記事です。リア充してたら1日遅れました

shibuya

昨日は男2人で渋谷の焼肉に行きました🍖🍖🍖

BoostrapはCSSを書かなくても最低限のデザインができるのでとても便利です。

が、フォームに<form>というタグを使うとsubmitされない現象が起きました。

Railsで投稿フォームを以下のように作りました。(わかりやすいようにいらないタグは消しました。)

<form>
  <%= form_for @post, :url => {:action => :create} do |f| %>
    <%= f.text_field :title , class: 'form-control', placeholder: 'タイトル' %>
    <%= f.text_area :content , class: 'form-control' %>
    <%= f.submit "投稿" %>
  <% end %>
</form>

ただのテキストボックスとテキストエリアとsubmitボタンしかないめっちゃシンプルなerbです。

controllerも書くまでもない普通のcontrollerです。 がこれでsubmitしてもviewは変わらずURLのところが

http://localhost:3000/admin/post/new?utf8=%E2%9C%93&authenticity_token=XXXXX&post%5Btitle%5D=XXXXX&post%5Bcontent%5D=XXXXX&commit=%E6%8A%95%E7%A8%BF

となるだけでcontrollerのcreateメソッドにも入っていませんでした。

原因が<form>タグを使っていたことでした。

なんでこんな仕様なのかは(まだドキュメント読んでないので)分かりません、、、

誰か知ってたら教えてください。

postできないのはRailsでなんかミスってると思ってずっと悩んでた。