tybro0103
tybro0103

Reputation: 49743

Rails Routes: Nested Scopes/Namespaces

Right now I have an admin.domain.com subdomain for which there is a module scope:

  constraints(AdminDomain) do
    scope :module => "admin" do
      resources :visitors
    end
  end

This makes all requests on the admin subdomain hit controllers in app/controllers/admin/.

What I'd like to do now is something like:

  constraints(AdminDomain) do
    scope :module => "admin" do
      resources :visitors
      scope "history", :as => "history" do
        resources :visitors
      end
    end
  end

Where the end goal is to make admin.domain.com/history/visitors hit controller: app/controllers/admin/history/visitors_controller.rb.

This path however still looks for app/controllers/admin/visitors_controller.rb.

Any ideas?

Upvotes: 1

Views: 4637

Answers (2)

tybro0103
tybro0103

Reputation: 49743

namespace is what I was looking for:

  constraints(AdminDomain) do
    scope :module => "admin" do
      resources :visitors
      namespace :history do
        resources :visitors
      end
    end
  end

And I had to define Admin::History::VisitorsController in app/controllers/admin/history/visitors_controller.rb

Upvotes: 6

sarvavijJana
sarvavijJana

Reputation: 1212

easy way to define specific controller is just like:

:controller => admin/history/visitors

Upvotes: 0

Related Questions