2011-01-17 9 views
0

etwas falsch in meinem Teil:_form teilweise nicht definierte Methode `staticpages_path‘ Fehler

<% form_for(@static) do |f| %> 
    <%= f.error_messages %> 

    <div class="field"> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </div> 
    <div class="field"> 
    <%= f.label :content %><br /> 
    <%= f.text_area :content %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

Die Bearbeitungsmethode:

def edit 
    @static=Staticpage.find(params[:id]) 
    end 

Und ich diese Lösung in der routes.rb verwenden

resources :static 

Was ist los?

Antwort

0

Der Grund ist, dass Ihr Modell Staticpage genannt wird, aber in Ihren Routen nennen Sie es nur statisch, so dass es nicht übereinstimmt. Sie können dies auf verschiedene Arten lösen. Zum Beispiel:

#routes.rb 
resources :staticpages 

Wenn Sie das tun wollen nicht, dass dann könnte man auch manuell den Pfad in Ihrem Anruf angeben, so form_for:

<% form_for(@static, :url => static_path) do |f| %> 

Und auch Sie Ihr Modell umbenennen könnten zu Static, aber ich denke, das ist eine kompliziertere Lösung, da es wahrscheinlich auch viele andere Dinge betreffen wird.

0
rake routes 

in Terminal sehen, was Ihr Weg ist,

könnte es die routes.rb sein, vielleicht

resources :staticpages 

? nur eine Vermutung

Verwandte Themen