Ich habe eine Methode in einem vorhandenen Rails-Controller (reports_controller) hinzugefügt, um eine bestimmte Aktion, die über den grundlegenden Umfang von REST hinausgeht, zu behandeln. Lassen Sie uns diese Aktion ‚Detail‘ nennen:link_to nicht Objekt ID in Rails 2.3.8
def detail
@report = Report.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @report }
end
Ende
Ich habe die entsprechende Layoutseite (detail.html.erb) und Routing, um sicherzustellen, dass ich von überall auf die Seite zugreifen können. Dies ist, wie meine Route wie folgt aussieht:
map.connect "reports/:action", :controller => 'reports', :action => /[a-z]+/i
Gerade jetzt eine der Detailseiten zugreifen Ich bin in der Lage. Ein Beispiel Seite würde wie folgt aussehen: http://127.0.0.1:3000/reports/detail/8
Nun, ich versuche, eine Verbindung von der Hauptbericht Indexseite zu den Detailseiten zu erstellen, aber wenn Sie den Code unten verwenden:
<%= link_to "Details", {:controller => "reports", :action => "detail", :id => @report }, {:title => "see details for this report"} %>
Der Link dass erstellt nicht die ID des Berichts sind auf es eine sieht wie folgt aus:
http://127.0.0.1:3000/reports/detail
Jede Idee, was falsch ist mit dem, was ich tue?
Danke!
Hat auch nicht funktioniert. Ich habe die URL manuell erstellt, das ist die einzige Sache, die an diesem Punkt funktioniert ... – wotaskd
der 'link_to' würde anders sein. Ich werde meine Antwort bearbeiten. –
ah, danke dafür! Jetzt scheint der Fehler anders zu sein und scheint sich auf meine Route zu beziehen. Ich habe nur die Zeile zu meiner ursprünglichen Frage sowie Ihren Vorschlag (: Mitglied) angegeben. Dies ist der Fehler:
– wotaskd