仕切りに、「え??パスが違うんじゃないの?本当はこれでしょ?」とか誘導してくる問題
仕切りに、「え??パスが違うんじゃないの?本当はこれでしょ?」とか誘導してくる問題
これには時間割きました。
今回の実装問題は、
表題に、今現在みているグループ名を表示するという実装に取り組んだ。
これを実装しないと、グループ一覧が全て表示されることになってしまう
という面倒な問題があった。
そこで、まず仮説としてたてられるのは、
「グループ詳細ページとして作成してしまって、
他のページとアソシエーションでくっつけてしまうということ。
そこで、groupコントローラーでshowアクションを定義し、
showページの作成を行った。
ここで、詳細ページの目的部分についてはすぐに表示することができたが、
それだけだと、真っ白な状態。。
こんな状態
次に、考え方としては、
左側と、中央の部分を表示したい。
じゃあ、今まで作ったやつとアソシエーションして
くっつけよう!
と思ったのはいいのだけれど、、、
上記の様に、え?これでいいの??
と促してくる。。
この誘導に耐え、
自分の道を突き進んだ
何が差し違えていたかというと
自分がしたかったことは
group GET /groups/:id(.:format) groups#show
このルーティングを作ったので、これを使いたかった。
こうすることで、groupの「詳細ページ」を作ることができ、show
アクションをもってコードを書いていけるので、目的を達成できると考えていたから。
一方、相手さんは
group_messages GET /groups/:group_id/messages(.:format) messages#index
こっちに誘導してくる。
最初なんでこっちにばっかり誘導してくるのかさっぱりわからない。。
いろいろ弄った。
Haml側に問題があるのか?
検索 → form-forの書き方の復習
問題なさそう
@group,@message、これがコントローラー上でうまく定義できていないのか?
いじいじ、
レスポンス変わらず。。。。
無駄に、_show.html.hamlとかいう部分テンプレート作って、無理やりくっつけようとしたけど、全くエラー内容変わらず、、(苦労を返してくれ笑)
そして、考えるに考え抜いて、
「ここまで来たら、一旦原点に立ち返ろう」
ということで、routesチェック!
あっ!!!
私は気づいてしまいまいた。。
なんとmessagesテーブルにshowアクションが入っていないのです、、
これだけでした。笑
だから、仕切りに「大丈夫?ちがうんじゃない?こっちなんじゃない?」
と教えてくれていたのです!
ひとまずよかった。
次に、また問題が発生しているんので解決したいと思います🤔