search
LoginSignup
0
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

form_tag と form_with の書き換え【(引数)を使うタイプと使わないタイプそれぞれで修正】

form_tag と form_with の書き換え【(引数)を使うタイプと使わないタイプそれぞれで修正】

by takahatanoria
1 / 2

●form_tag と form_with の書き換え
(引数)を使うタイプと使わないタイプそれぞれで修正

○使わず修正

①show.html

修正前
<%= form_tag("/blogs/#{@blog.id}/comments", method: :post) do %>

修正後
<%= form_with url: "/blogs/#{@blog.id}/comments" do |form| %>

○使って修正

②new.html

修正前
<%= form_tag('/blogs', method: :post) do %>

修正後
<%= form_with(model: Blog.new, local: true) do |form| %>

・URIを省略する書き方で修正してみた。
・()内はモデルで指定する。
・local: trueを忘れない。フォームを自動生成する。

③edit.html

修正前
<%= form_tag("/blogs/#{@blog.id}", method: :patch ) do %>

修正後
<%= form_with(model: @blog, local: true) do |form| %>

ターミナル
bundle exec rake routes にてprefixの確認をした。

blog GET /blogs/:id(.:format)             blogs#show
PATCH /blogs/:id(.:format)             blogs#update
PUT /blogs/:id(.:format)             blogs#update
DELETE /blogs/:id(.:format)
blogs#destroy

・prefixを見るとblog_pathでコントローラーのupdate
・今回は@blogと修正
・patch等の記載が不必要なのはRailsの自動予測のためだと思われる。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0
Help us understand the problem. What are the problem?