Warum führt mich Link_to nicht dorthin, wo ich es will?
Frage
Ich habe ein Modell "Asset" und auf der Show -Seite habe ich Folgendes:
{: Controller 'Look',: action => 'was auch immer'} %>Der "sieht" aussieht "und" was auch immer "Aktion existiert.
Wenn ich nun die Seite der Show für das zweite Asset gehe und auf den Testlink klicke, erhalte ich diesen Fehler:
Verarbeitung assetscontroller#2 (für 127.0.0.1 bei 2009-12-03 17:09:57) [Post] Parameter: {"Authenticity_Token" => "Algrq+Zvulwbwc09m1dy7mj9b9agsjqkwis9lk6uk ="} -Anterlast (0.6ms) ausgewählt * von "user9lk6uk ="}} user (0.06ms) ausgewählt * von "user9lk6uk ="}} user (0. 0,6ms) select * aus "user9lk6. "Wo (" Benutzer "." Id "= '1') Begrenzen 1
ActionController :: Unbekannung (keine Aktion reagiert auf 2. Aktionen: Erstellen, Zerstören, Index, Neue, Empfangen und Show): /usr/lib/ruby/gemems/1.8/gems/chriseppstein-compass-0.8.17/lib/ compass/app_integration/rails/action_controller.rb: 7: in
process' haml (2.3.0) lib/sass/plugin/rack.rb:44:in
Rufen Sie '/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in anservice' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in
run '/usr/lib/ruby/1.8/webrick/server.rb:173:instart_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in
Start '/usr/lib/ruby/1.8/webrick/server.rb:162:instart_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in
Start '/usr/lib/ruby/1.8/webrick/server.rb:92:ineach' /usr/lib/ruby/1.8/webrick/server.rb:92:in
Start '/usr/lib/ruby/1.8/webrick/server.rb:23:instart' /usr/lib/ruby/1.8/webrick/server.rb:82:in
Anfang'Rendern Rettungsmittel/Layout (nicht_found)
Anscheinend lenkt es mich zu einer Aktion, die das genannte Asset_ID nennt, dessen Show ich stammte. Wenn es hilft, verwende ich die Authlogic- und Kompass -Edelsteine. Ich würde mich über jede Hilfe freuen.
Lösung
Ist das der genaue Code aus Ihrer App? Für den Anfang fehlen Ihnen a => zwischen: Controller und 'Look'.
Versuchen
{: Controller => 'Aussehen',: action => 'was auch immer'} %>Andere Tipps
Zusätzlich zu dem, was DL oben erwähnt hat, verwenden Sie Link_to_Remote, die mit den Ergebnissen der Aktion eine DIV auf Ihrer Seite aktualisieren. Sie können bedeuten, zu link_to zu wechseln, da Sie empfehlen, irgendwohin zu gehen.
Wenn Sie einen AJAX -Anruf wünschen, sollten Sie dem Link_TO_Remote wie folgt einen Parameter hinzufügen:
<%= link_to_remote 'test',
:update => "some-div-id",
:url => { :controller => 'looks', :action => 'whatever' } %>