##はじめに
先日、railsでタグ機能を実装しました
タグ機能に関しては
https://qiita.com/you8/items/b2394104c6f9865f5d46
以上の記事を参考にして作成しました
##問題
さて、先ほど紹介した記事にてDBのアソシエーションやら、コントローラー、モデルの記述をしてみたのですが、肝心なところでビューってどう表示するの?と思いました
タグ機能関連ってコントローラーやらビューやらDB設計はたくさんあるけど表示の部分っていくら検索してもHITしないんだよね
まぁ私が技術不足であると言われたらそこは否めないのですが💦
##解決方法
結論から言うとeachで繰り返された物をさらにeachで繰り返すと上手に表示されます
- @posts.each do |i|
.contents
.contents__image
= link_to post_path(i) do
= image_tag i.image.url, class:"Image"
.contents__title
= link_to i.title,post_path(i),class:"text"
.contents__tags
- i.tags.each do |tag|
.tag
= tag.tag_name
これ私が個人的に現在作成中のギブアンドテイク(仮)アプリで実際に使われているコードです
これだと正常に表示されています
Sequel proを確認するとpost_idとtag_idで管理していることがわかると思います
つまり、@posts(特定のpost_id)の中のtagsをeach分で繰り返さないと野球とスポーツのタグは表示されないのです(表現が難しい💦)
以上が中間テーブルを使用したタグを表示する方法でした
最初はただeachで回せば大丈夫と思っていましたが全てのタグが表示されてタグ機能自体諦めようと思っておりましたが、ふと思った天啓によって思い通りの実装ができました
私のように思い悩んでいる方が解決できたら嬉しいです