2010-11-27 10 views
1

j'ai une route imbriqué:Rails 3 accès contrôleur routes imbriquées

resources :wsps do 
    member do 
    get :location 
    get :password 
    end 

    resources :services 
    end 

Je peux accéder à tous les chemins (par exemple: new_wsp_service_path) via le contrôleur de services de vues et de services, cependant, je ne peux pas faire la même chose en utilisant les vues wsp. Il dit qu'il ne reconnaît pas l'action "nouvelle".

J'aimerais savoir comment utiliser le chemin new_wsp_service_path sur les vues Wsps.

J'ai essayé d'ajouter à l'émission du contrôleur de WSP, mais toujours pas fixe:

def show 
    @wsp = Wsp.find(params[:id]) 
    @title = @wsp.name 
    @services = @wsp.services 
    @page_name = "overview" 
    respond_to do |format| 
     format.html # index.html.erb 
     format.xml { render :xml => @services } 
    end 
    end 

merci.

Répondre

1

Assurez-vous que vous transmettez un objet Wsp lorsque vous appelez l'assistant de chemin. Ouvrez la console rails (rails c) et essayer ::

app.new_wsp_service_path  # => ERROR! 
app.new_wsp_service_path(1) # => should work 
@wsp = ...      # get a Wsp record 
app.new_wsp_service_path(@wsp) # => should work 

Je lance cette erreur souvent quand j'oublie de passer un enregistrement à l'itinéraire embarqué. Si cela ne résout pas votre problème, veuillez publier la sortie des commandes ci-dessus et assurez-vous que votre itinéraire est configuré en utilisant rake routes | grep new_wsp_service.

Questions connexes