Frage

Ich habe einen Routing -Fehler, den ich einfach nicht herausfinden kann! Es macht meinen Kopf, wenn jemand eine Lösung vorschlagen kann, die sehr geschätzt wird.

Ich erhalte den Fehler: Routing -Fehler Keine Route übereinstimmt {: action => "create_from_template",: Controller => "Projekte"}

Aus der folgenden Taste:

<p><%= link_to "Create from template", create_from_template_project_path %></p>

In Routen.RB habe ich:

  resources :projects do
    member do
      get 'create_from_template'
    end
  end

In Klassenprojekte controller habe ich:

  def create_from_template
    #@project = Project.find(params[:template_id])
    #@project.clone
    redirect_to projects_path
  end

Es zeigt sich auch, wenn ich "Rake Routen" mache

create_from_template_project GET    /projects/:id/create_from_template(.:format) {:action=>"create_from_template", :controller=>"projects"}

Hat jemand eine Idee, warum es nicht funktioniert?

Bearbeiten: Vielleicht habe ich die verschachtelten Ressourcen -Routing -Regeln "Mitglied" missverstanden. Ich habe nicht an einem Projekt vorbeigekommen. Ich habe den Knopf von geändert

zu

   <p><%= link_to "Create from template", create_from_template_project_path(template_project) %></p>

Und jetzt funktioniert es. Vielen Dank an alle, die geholfen haben.

War es hilfreich?

Lösung

Wenn Sie kein Projekt zum Erstellen von Vorlagenaktionen übergeben müssen, ändern Sie die Schaltfläche als: `

 <%= link_to "Create from template", create_from_template_projects_path %> 
In Routen statt von
 member do 
du solltest benutzen
 collection do 

Wenn du benutzt member do In Routes.rb sollten Sie das Projekt im Link_to übergeben, wie Prasvin erwähnt hat

Andere Tipps

Versuchen Sie das Projekt neben link_to im Pfad

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top