2016-06-24 12 views
0

Ich bin sicher, dass es eine einfache Lösung für dieses Problem gibt, aber ich kann nicht für das Leben von mir sehen, was ich falsch mache - es ist ein paar Monate her, seit ich ' Ich habe an einem Rails-Projekt gearbeitet, ich muss etwas Wichtiges vergessen.Schienen - kein Methodenfehler für neues Formular

Ich versuche nur, ein einfaches Rails-Formular zu erstellen, aber ich erhalte einen Pfadfehler no method, wenn ich auf die neue Formularseite navigiere.

Dies ist für meine Report-Modell ...

routes.rb

resources :report, only: [:new, :create], path_names: {new: ''} 

report_controller.rb

def new 
    @report = Report.new 
end 

Bericht/new.html.erb

<%= form_for @report do |f| %> 
<% end %> 

Navigieren zu http://localhost:3000/report Ausbeuten

undefined method `reports_path' 

nur umfassend zu sein, hier ist das Modell ...

class Report < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :weather 
    belongs_to :feature 
end 

und die Routen

report_index POST /report(.:format)  report#create 
new_report GET /report(.:format)  report#new 

Ich bin sicher, dass dies ein Amateur-Fehler ... aber Ich kann nicht sehen, was es ist!

Antwort

0

Sie müssen Ihre Routen so ändern, dass sie einen Pfad :show enthalten, wenn Sie zu /report wechseln möchten.

Der Weg, den ich Ihnen glauben suchen ist localhost:3000/reports/new

+0

Mit diesem 'path_names: {new: ''}' ordne ich die neue Berichtaktion der/report URL zu. Wenn ich das herausbringe und zu http: // localhost: 3000/report/new gehe, ist es das gleiche Problem. – skwidbreth

0

Oh für die Liebe Gottes. Es war ein Pluralisierungsproblem. Die Dateien erscheinen soll und wie folgt benannt werden:

routes.rb

resources :reports, only: [:new, :create], path_names: {new: ''} 

reports_controller.rb

class ReportsController < ApplicationController 
    def new 
     @report = Report.new 
    end 
end 

Und die Ansicht alle Dateien in einem Ordner sein sollte 'Berichte' genannt, nicht 'Bericht'. Das Modell ist nur der singular report.rb.

Verwandte Themen