ArgumentError: falsche Anzahl von Argumenten (1 für 2)

7

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?

    
airplaneman19 11.01.2012, 03:59
quelle

2 Antworten

14

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:

%Vor%     
Mischa 11.01.2012, 04:04
quelle
7

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:

%Vor%     
Peter Brown 11.01.2012 04:17
quelle

Tags und Links