0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

rails ネスト機能について

Posted at

今回はrailsのルーテイングの時に役に立つnestについてまとめて見ました。
ネストを使うとルーテイングの見やすさが一気に上がるので、ぜひこの記事を参考にして見てください。

早速ですが、ネストを理解する前に、掲示板とコメントの関係を思い出してください。

...

掲示板とコメントの関係ですが、これは、必ずと言っていいほど、掲示板の中にコメントが書かれていますよね。
このQiitaも全く同じ機能で、掲示板を僕が一つ記事を書き、そこに読者様からのコメントがありますよね。
こういう風に一対多(掲示板が1、コメントが多)の関係になっているものはネストでルーテイングを表現してあげましょう。
そちらの方が視覚的にも見やすいです。

具体的には以下をご覧ください。
Boardモデル

class Board < ApplicationRecord
  has_many :comments
end

Commentモデル

 class Comment < ApplicationRecord
  belongs_to :board
end

ネストの表現方法は下のようになります。
親がboards 子がcommentsのように書きましょう。
親boardsの中に子供commentsがいる、そんなイメージです。

resources :boards do
  resources :comments
end

rails routesでルーテイングを確認すると

board_comments POST   /boards/:board_id/comments(.:format)                                                     
comments#create

このような形でboardの中にcommentが存在していますね。
だいぶコードが見やすくなりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?