1

私はレールでブログを書いていますが、途中です。記事の編集とコメントの削除を実装しているときに、ルーティングで何とか行き詰まりました。3つの具体的な疑問があります。

1)。ブログのこの種の URL を取得(http://localhost:3000/articles/54/comments/56/edit)するには、ネストされたルートに従う必要がありますか。つまり

 resources :articles do
    resources :comments
  end

2) ネストされたルーティングなしでこの種の URL を取得できますか? はいの場合、説明をお願いします。

3) 現在、ネストされたルートを実装しようとしています (応答後に変更される可能性があります)。この種のルーティングでは、ビューの「articles」フォルダー内に「comments」フォルダーを作成する必要がありますか? または、ビューフォルダーの直下に「コメント」フォルダーを作成して、ネストされたルートを機能させることはできますか。

御時間ありがとうございます。

4

1 に答える 1

4

ブログのこの種の URL を取得するには、ネストされたルートに従う必要がありますか。

いいえ、このメソッドを使用してmatch自分で任意のルートを作成できます。

ネストされたルーティングなしでこの種の URL を取得できますか? はいの場合、説明をお願いします。

メソッドmatchで、

match 'articles/:article_id/comments/:id/edit' => 'comments#edit'

レールガイドの詳細

現在、ネストされたルートを実装しようとしています (応答後に変更される可能性があります)。この種のルーティングでは、ビューの「articles」フォルダー内に「comments」フォルダーを作成する必要がありますか? または、ビューフォルダーの直下に「コメント」フォルダーを作成して、ネストされたルートを機能させることはできますか。

ネストされたルートの場合、Rails の標準フォルダー構造を変更しないでください。つまり、comments フォルダーは、comments フォルダーではなく、views フォルダーの下にある必要があります。views/controllers/models ディレクトリにフォルダーをネストする必要があるときに私が認識している唯一の瞬間は、namespace.

編集:

アプリケーションのセマンティックを調べて、ネストされたリソースが必要かどうかを判断する必要があります。コメントで行う CRUD アクションが投稿に関連している場合は、ネストされたリソースを保持する必要があります。そうでない場合は保持しないでください。

この場合、ネストされたリソースがはっきりとわかります。

于 2013-04-26T19:53:16.277 に答える