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:

Editing organisation


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

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

Thanks

Richard.

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

HTH

On 10/14/10 5:40 AM, Creative Technologist wrote:

  admin.resources :organisations

raised:
6:

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

Thanks

Richard.


Erol F.

http://twitter.com/erolfornoles
http://ph.linkedin.com/in/erolfornoles

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.

On Oct 13, 10:59pm, Creative Technologist