🦔

urlにidが含まれてない!💦

2023/07/27に公開

🍍今回やろうとしてたこと


制作ステータスの更新を行いたかった。

🍍Couldn't find OrderDetail without an ID

下記のようなエラーが出たことでルーティングが変わったことに気が付いた。
(今までは更新できていたため)

rails routesで確認。

admin_orders_detailsのurlにidが入っていないのでエラーが出てる、ということがわかる。
→idがurlに入ってないからIDが見つからないって言ってるのは当たり前だよね😢

🍍解決

patch 'order_details/:id' => 'order_details#update'という書き方もためしてみた
けど、urlにidは追加されたけどこれだとpatchが同じ中に2個あるからだめじゃない?

どうやったらほかの奴みたいにurlにid含んでくれるの?

とりあえずorder_detailsだけ違う書き方だから

他と同じようにresoucesでまとめてみた。もう一回rails routesで確認してみる。

ちゃんとできてる、、、、!

🍍なんでこんなことが起こったのか

rails routesで確認するとpatchputが作成されている。
更新するだけだったのでpatchの記述のみでよいと思ってたけど。putもいるみたい。

  • patch→データの一部更新
  • put→データの更新
    だったよね。

💎なんでpatchだけじゃダメだったんだろう。
制作ステータスだけを変えたかったからデータの一部更新と思ってpatchを使ったんだけど、違ったのかな?

https://zenn.dev/sgtkuc1118/articles/c73587c674a4a2

🍍まとめ

チーム開発していると共同でいろんなページを作っているのでgit pullしてみるとルーティングが変わってしまって自分のページがエラーになってしまうことが何回も起こった。
新しくurlを書き換えることでまたおんなじことを考えなくてはいけなかったりと作業の重複が見られたので、チーム開発の時は先にルートだけでも作成していたほうがいいのかな?となった。

Discussion