Ich bin sehr neu in Rails, MVC und CRUD, und ich versuche, die Update-Methode zu verwenden, um die Anzahl der Stimmen für einen Beitrag zu ändern. Ich habe den folgenden Code in meiner Posts Controller-Update-Methode:
%Vor%und ich habe den folgenden Code in meinem routes.rb:
%Vor%Nach dem Navigieren zu "/ posts / 3 / up" wird der folgende Fehler ausgegeben:
%Vor%Die Anforderungsparameter entsprechend der Seite sind als solche:
%Vor%Können Sie mir helfen herauszufinden, was schief gelaufen ist?
update_column
benötigt zwei Argumente. Du gibst nur eins durch.
Anstelle von:
%Vor%Versuchen Sie:
%Vor%Dies kann wie zwei Argumente aussehen:
%Vor%aber es ist eigentlich ein Hash.
Mit dem häufiger verwendeten update_attributes
können Sie eine bestehen Hash:
Wie Mischa schon sagte, benötigt update_column
zwei Argumente. Ich würde Sie jedoch davon abhalten, diese Methode zu verwenden. Erstens überspringt es Validierungen, die möglicherweise nicht das sind, was Sie wollen. Zweitens verfügt Rails über integrierte Methoden zum Inkrementieren oder Dekrementieren von Werten . In Ihrem Fall könnten Sie Ihre Controller-Methode in etwa so ändern:
Tags und Links ruby ruby-on-rails routing crud