2010-12-18 8 views
0

bekomme ich folgende Fehlermeldung:Warum kann ich ein verschachteltes Modell jetzt nicht bearbeiten?

undefined method `campaign_fax_path' for #<ActionView::Base:0xb6515200> 

I Routen haben wie folgt definiert:

map.resources campaigns, :has_many => :faxes 

Der Fehler tritt hier:

NoMethodError in Faxes#edit 

Showing app/views/faxes/_form.html.erb where line #1 raised 

ich eine ziemlich grundlegende Form verwenden:

<% form_for [@campaign, @fax] do |f| %> 
    2 <%= f.error_messages %> 
    3 <p> 
    4  Campaign: 
    5  <%= link_to @campaign.name, campaign_path(@campaign) %> 
    6 </p> 

Wenn ich eine Rake Route mache | grep "campaign_fax *" Ich erhalte den folgend:

  campaign_faxes GET /campaigns/:campaign_id/faxes(.:format)    {:action=>"index", :controller=>"faxes"} 
     new_campaign_fax GET /campaigns/:campaign_id/faxes/new(.:format)   {:action=>"new", :controller=>"faxes"} 
+0

Siehst du 'campaign_faxis' irgendwo in 'Rake-Routen'? Ja, das ist "Faxis" mit einem "i". – zetetic

Antwort

1

Ich gehe davon aus, dass Sie Schienen 2.3.x

Versuchen Sie dies in Ihrem routes.rb

map.resources campaigns do |campaigns| 
    campaigns.resources :faxes 
end 

See verwenden: Die Nested Routes Section of the Rails Guides

+0

Ich reparierte es, aber durch das Lesen der Anleitung kann ich mich nicht erinnern, was es war. – Angela

0

Angezeigt app/views/Faxe/_form.html.erb wo Zeile # 1

angehoben

Vielleicht gibt es etwas falsch in dem Teil. Hast du es überprüft?

map.resources campaigns, :has_many => :faxes **is that correct? I don't think so... maybe is: 

map.resources campaign, :has_many => :faxes or 

map.resources campaign, :has_many => :faxes 

map.resources fax, :has_many => :campaigns 
Verwandte Themen