‘ancestry’」について簡単にまとめたので解説したいと思います。カテゴリー実装の際によく使われるgemです。ancestryを使えば、親カテゴリー・子カテゴリー・孫カテゴリーっていう感じで実装できそうだね。この記事の内容ancestryとはancestryを使用するメリットancestryの導入方法まとめ参考ancestryとはancestryとは、簡単に階層構造(ツリー構造)を実装することができるgemです。直訳すると「祖先」という意味になり、親子孫関係を作成することができると想像できます。ancestryを用いたカテゴリー実装の例を見ていきましょう。上記の図を見て分かる通り、ancestryカラムの親カテゴリーはnull、子カテゴリーには親カテゴリーのidが、孫カテゴリーには親カテゴリーと子カテゴリーのidが1/2というような形で入ります。SequelProで確認した結果ancestryを使用するメリットancestryを使用するメリットとしては、独自のメソッドを使えるということが挙げられます。使用可能なメソッドは公式ドキュメントに全て掲載されているので、あらかじめ目を通しておきましょう。ancestryのメソッド(一部抜粋)実際にメソッドを使ってみます。一例であるため、モデル名とカラム名はそれぞれ適当に置き換えていただければと思います。c」を実行し、コンソール画面を開きます。その後、rootとchildとgrandchildにそれぞれ値を入れていきます。06:48:22">ここで「root.descendants」を実行すると子孫ノードが、「grandchild.ancestors」を実行すると祖先ノードが返ってきます。06:48:06">]>こんな感じで、ancestryのメソッドを使うとDBとのやりとりが簡単になるね!ちなみに言うと、ancestryには以下のようなデメリットも存在します。これらのデメリットを頭に入れた上で、実装を進めていかなればなりません。ancestryカラムには1/14のように記述されているため、節点の親を変えるだけなのに節点の子のレコードも更新されてしまうancestry経由では問題ないが、DBの値を直接書き換えた際に整合性が取りにくいancestryの導入方法ancestryの導入には、以下の3つのステップを抑えておけば大丈夫です。具体的に記述すると以下のようになります。‘ancestry’」について解説しました。カテゴリー実装の際によく使われるgemなので、ぜひこの機会に理解を深めておきましょう。yoshi19941117TechTechMedia【Rails基礎】ヘルパーメソッドlink_toのパスに引数を渡す意味を...【Rails】ancestryを用いたカテゴリーの実装方法Railsエンジニアちばよしはる銀座にあるヘルステック企業のRailsエンジニア。初心者から中級者向けに記事を更新しています。お酒とカレーと競馬が好き。TechTechMedia。