1. ホーム
  2. ruby-on-rails

[解決済み] Ruby-on-rails 3 ルーティングのスコープとネームスペースの違いについて

2022-09-15 05:34:42

質問

ruby-on-rails 3 のルーティングで、namespace と scope の違いがよくわかりません。

どなたか説明していただけませんか?

namespace "admin" do
  resources :posts, :comments
end

scope :module => "admin" do
  resources :posts, :comments
end

どのように解決するのですか?

生成されるパスの違いにあります。

パスは admin_posts_path であり admin_comments_path であるのに対し、名前空間は単に posts_pathcomments_path をスコープとします。

を渡すことで、名前空間と同じ結果を得ることができます。 :name_prefix オプションをスコープに渡すことで、名前空間と同じ結果を得ることができます。