Path error when using a namespace


Very fustrating problem.

I've nested by /admin bits with a namespace ...

  map.namespace :admin do |admin|
      admin.resources :dashboard
      map.resources :users
      map.resource :session
      admin.resources :organisations

I'm having an issue with :organisations though.

The controller and view are in the /admin folder and the controller's
class definition is ...

class Admin::OrganisationsController < ApplicationController

The model is not in an admin folder though.

I come accross an issue when I want to edit the organisation with a
URL such as ...


The error is

NoMethodError in Admin/organisations#edit

Showing app/views/admin/organisations/edit.html.erb where line #3

undefined method `organisation_path' for #<ActionView::Base:0x23c84ec>

Extracted source (around line #3):

1: <h1>Editing organisation</h1>
3: <% form_for(@organisation) do |f| %>
4: <%= f.error_messages %>
6: <p>

I would be amazingly grateful if anyone knows how to fix this!



Try <% form_for [:admin, @organization] do |f| %>


That worked great, thanks.

For anyone else out there with this issue, there are a couple of other
related fixes when this issue occours.

1. When using a path say to the edit page, you need to add the admin
bit in, e.g. edit_admin_organisation_path(@organisation)
2. In your controller you will need to edit the redirect code in
certain places in order for rails to generate the correct path, for
example ...

format.html { redirect_to([:admin, @organisation], :notice =>
'Organisation was successfully created.') }

Big thanks to Erol ( ) for
guiding me on this today.