2009-08-05 7 views
0

ist die Route:form_for Verschachtelte Ressourcen

map.resources :networks do |network| 
    network.resources :channels, :name_prefix => nil 
    end 

Hier ist, was ich in meinem für meine Form haben.

<% form_for ([@network, @channel]) do |f| %> 
... 
<% end %> 

ich eine nicht definierte Methode Fehler, da form_for versucht „network_channel_path“ zu nennen. Dieser Fehler tritt auf, weil ich die Kanäle :name_prefix als nil habe. Wie kann ich dieses Problem vermeiden, ohne form_form mit allen erforderlichen Parametern vollständig zu schreiben?

Antwort

1

statt :name_prefix => nil Verwendung mit :shallow => true

Dies wird die networks/:network_id und nicht Chaos mit Ihrem _paths nicht angezeigt

+0

Mit dieser Methode wird mir verlangen einige meiner Ansichten zu überarbeiten, vor allem alle meine Pfad ruft, aber Ich mag diese Lösung. Vielen Dank! – mikeycgto

+1

Sie haben immer noch Zugriff auf params [: network_id] FYI – ErsatzRyan

Verwandte Themen