ArgumentError: mauvais nombre d'arguments (1 de 2)

Je suis très nouveau pour les Rails, MVC, et CRUD, et je suis en train d'utiliser la méthode de mise à jour pour modifier la quantité de votes sur un post. J'ai le code suivant dans mon Controller Posts méthode de mise à jour:

def update
    @post = Post.find(params[:id])

    if params[:vote] == 'up'
        @post.update_column(:ups => @post[:ups] + 1)
    elsif params[:vote] == 'down'
        @post.update_column(:downs => @post[:downs] + 1)
    end

    flash[:notice] = "Thanks for voting! This helps us determine important issues in our schools."

    redirect_to 'Posts#index'
end

et j'ai le code suivant dans mon parcours.rb:

OpenMCJC::Application.routes.draw do
  root :to => 'posts#index'
  resources :posts
  match '/posts/:id/:vote', :to => 'posts#update'
end

Après accédant à "/posts/3/up", il met l'erreur suivante:

ArgumentError in PostsController#update

wrong number of arguments (1 for 2)

Les paramètres de la requête en fonction de la page en tant que telles:

{"id"=>"3",
"vote"=>"up"}

Pouvez-vous m'aider à comprendre ce qui s'est passé?

OriginalL'auteur airplaneman19 | 2012-01-11