仕切りに、「え??パスが違うんじゃないの?本当はこれでしょ?」とか誘導してくる問題

仕切りに、「え??パスが違うんじゃないの?本当はこれでしょ?」とか誘導してくる問題

 

 

これには時間割きました。

 

f:id:momonga0714:20200401201028p:plain



 

 

今回の実装問題は、

表題に、今現在みているグループ名を表示するという実装に取り組んだ。

 

 

これを実装しないと、グループ一覧が全て表示されることになってしまう

という面倒な問題があった。

 

そこで、まず仮説としてたてられるのは、

 

「グループ詳細ページとして作成してしまって、

他のページとアソシエーションでくっつけてしまうということ。

 

そこで、groupコントローラーでshowアクションを定義し、

 showページの作成を行った。

 

ここで、詳細ページの目的部分についてはすぐに表示することができたが、

それだけだと、真っ白な状態。。

 

 

f:id:momonga0714:20200401201050p:plain

 

 

 

 

 

こんな状態

 

次に、考え方としては、

 

左側と、中央の部分を表示したい。

 

じゃあ、今まで作ったやつとアソシエーションして

くっつけよう!

 

 

と思ったのはいいのだけれど、、、

 

上記の様に、え?これでいいの??

と促してくる。。

 

この誘導に耐え、

自分の道を突き進んだ

 

 

何が差し違えていたかというと

 

自分がしたかったことは

 

 

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チェック!

 

あっ!!!

 

 

 

 

f:id:momonga0714:20200401201117p:plain

 

私は気づいてしまいまいた。。

 

なんとmessagesテーブルにshowアクションが入っていないのです、、

 

これだけでした。笑

 

 

だから、仕切りに「大丈夫?ちがうんじゃない?こっちなんじゃない?」

と教えてくれていたのです!

 

ひとまずよかった。

次に、また問題が発生しているんので解決したいと思います🤔