2016-05-04 12 views
-5

Ich verwende Rails 4.2.6 mit einer sqlite3 Datenbank. Ich möchte die Daten aus der Datenbank in eine lesbare Datei schreiben. Aber wenn ich auf den "Show" -Button klicke, erhalte ich diesen Fehler, obwohl ich die Route der Show nicht auf POST eingestellt habe.Routing Error Keine Route stimmt überein [POST] "/ resume/58"

Hier ist der Stoff, arbeite mit:

index.html.erb:

<% if !flash[:notice].blank?%> 
    <div class="alert alert-info"> 
    <%= flash[:notice]%> 

    </div> 
<%end%> 
<br /> 

<%= link_to "New File", new_resume_path, class: "btn btn-primary"%> 
<br /> 
<br /> 

<table class="table table-bordered table-striped"> 
    <thead> 
     <tr> 
      <th>Name</th> 
      <th>Download Link</th> 
      <th></th> 
     </tr> 
    </thead> 
    <tbody> 
     <% @resumes.each do|resume| %> 
     <tr> 
      <td><%= resume.name%></td> 
      <td><%= link_to "Download Resume", resume.attachment_url %></td> 
      <td><%= button_to "Delete", resume, method: :delete, class: "btn btn-danger", confirm: "Are you sure to delete #{resume.name}?" %></td> 
      <td><%= button_to "Show", resume, method: :show, class: "btn btn-primary"%></td>   
     </tr> 

     <% end %> 
    </tbody> 

</table> 

routes.rb:

Rails.application.routes.draw do 


    resources :resumes 
    root "resumes#index" 

    get 'resumes/index' 

    get 'resumes/new' 

    get 'resumes/create' 

    get 'resumes/destroy' 

    get 'resumes/show' 
end 

Rake Routen:

  Prefix Verb URI Pattern     Controller#Action 
     resumes GET /resumes(.:format)   resumes#index 
       POST /resumes(.:format)   resumes#create 
    new_resume GET /resumes/new(.:format)  resumes#new 
    edit_resume GET /resumes/:id/edit(.:format) resumes#edit 
     resume GET /resumes/:id(.:format)  resumes#show 
       PATCH /resumes/:id(.:format)  resumes#update 
       PUT /resumes/:id(.:format)  resumes#update 
       DELETE /resumes/:id(.:format)  resumes#destroy 
      root GET /       resumes#index 
    resumes_index GET /resumes/index(.:format) resumes#index 
    resumes_new GET /resumes/new(.:format)  resumes#new 
resumes_create GET /resumes/create(.:format) resumes#create 
resumes_destroy GET /resumes/destroy(.:format) resumes#destroy 
    resumes_show GET /resumes/show(.:format)  resumes#show 

Bitte sagen Sie mir, wenn noch etwas anderes benötigt wird.

+0

Vielleicht Schaltfläche feuert ein js Anruf teilen vollständigen Code & Routen –

+0

konfigurieren Sie Zeug in der Datei routes.rb - diese Datei ist von zentraler Bedeutung für das Routing überhaupt arbeiten – JohnPaul

+1

Bitte schreiben Sie einen verwandten Code darauf. Wir sind keine Zauberer. Wir können Ihnen keine Antwort geben, wenn Sie uns keinen Code zeigen, der einen Fehler in Ihrer App verursacht. – HashRocket

Antwort

0

Versuchen Sie, die Show-Taste Syntaxzeile Aktualisierung:

<td><%= button_to "Show", url_for(controller: 'resumes', action: 'show', id: resume.id), method: :get, class: "btn btn-primary"%></td> 

Auch here ist eine nette kleine Beschreibung der verschiedenen HTTP-Methode und ihre zugehörigen Rails Aktionen.

+0

Adrian, ich habe versucht, Ihre Lösung, aber es zeigt immer noch den gleichen Fehler nach dem Klicken auf "zeigen" Knopf –

+0

Thankx für das Update, aber dieser Code gab mir verschiedene Fehler ... Und bitte beachten Sie, dass ich kein form_tag in meiner Indexseite verwenden .. Die Fehler sind-- SyntaxError - Syntaxfehler, unerwarteter TIDENTIFIER, erwartet ')' r: 'resume', Aktion: 'show' id: resume.id), Methode:: show, /index.html.erb:28 : Syntaxfehler, unerwartet tLABEL 'show' id: resume.id), Methode:: show, Klasse: "btn btn-prima ... ^ index.html.erb: 28: Syntaxfehler, unerwartet ')' , erwartet keyword_end show, Klasse: "btn btn-primary"); @ output_buffer.safe_append = '... –

+0

Eigentlich haben Sie ein Komma im Code verpasst, deshalb habe ich diese Fehler aber jetzt aga nach dem Hinzufügen eines Kommas (Aktion: 'show', id :) bin immer noch da Routing-Fehler Keine Route entspricht [POST], auch wenn der Router die richtigen Pfade und URLs zeigt –

Verwandte Themen