Path error when using a namespace

Hi,

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     end

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 ...

http://localhost:3000/admin/organisations/1/edit

The error is

NoMethodError in Admin/organisations#edit

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

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

Extracted source (around line #3):

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

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

Thanks

Richard.

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

HTH

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 (http://ph.linkedin.com/in/erolfornoles ) for guiding me on this today.