Rails 3 Verknüpfung oder Schaltfläche, die Aktion im Controller ausführt

8

In RoR 3 möchte ich nur eine Verknüpfung / Schaltfläche haben, die eine Aktion / Methode im Controller aktiviert. Insbesondere wenn ich auf einer Seite auf den Link "update_specs" klicke, sollte die Methode "update_specs" in meinem Produkt-Controller aufgerufen werden. Ich habe Vorschläge dazu auf dieser Site gefunden:

%Vor%

Ich bekomme jedoch den folgenden Routing-Fehler, wenn ich auf diesen Link klicke:

  

Routingfehler Keine Route stimmt überein {: action = & gt; "update_specs",   : controller = & gt; "Produkte"}

Ich habe das Routing gelesen, aber ich verstehe nicht, warum ich diese Methode routen sollte, wenn alle anderen Methoden über Ressourcen zugänglich sind: Produkte.

    
heebee313 26.09.2011, 17:07
quelle

1 Antwort

14

Sie müssen eine Route dafür erstellen.

Zum Beispiel:

%Vor%

Außerdem sucht link_to standardmäßig nach einer GET -Methode in Ihren Routen. Wenn Sie die Methode POST oder PUT behandeln wollen, müssen Sie sie angeben, indem Sie {:method => :post } oder {:method => :put } als Parameter hinzufügen, wie:

%Vor%

Oder Sie können button_to anstelle von link_to verwenden, was standardmäßig die Methode POST behandelt.

    
Amokrane Chentir 26.09.2011, 17:15
quelle