Hi! I'm developing a test application, just to experiment a little bit with ajax. Right now I only have a Company model with the attributes name:string, description:text and voted:boolean. What I'm trying to do is: in company#index show a "vote" link to vote a company; after the company has been voted the link should be replaced by an "unvote" link to unvote it and so on (after unvoting replace with "vote", etc.). >From what I have read so far I expect the following code to work just fine:
## app/controllers/companies_controller.rb class CompaniesController < ApplicationController before_filter :retrieve_company, :only => [:vote, :unvote] def index @companies = Company.all end def vote @company.update_attributes :voted => true end def unvote @company.update_attributes :voted => false respond_to do |format| format.js { render "vote" } end end private def retrieve_company @company = Company.find(params[:id]) end end ## app/helpers/companies_helper.rb module CompaniesHelper def vote_link_for(company) if company.voted? link_to "Unvote", unvote_company_path(company), :id => "vote_link", :remote => true, :method => "delete" else link_to "Vote", vote_company_path(company), :id => "vote_link", :remote => true, :method => "post" end end end ## app/views/companies/vote.js.erb $("#vote_link").html("<%= vote_link_for(@company) %>") ## app/views/companies/_company.html.haml %tr %td= company.name %td= company.description %td= vote_link_for(company) ## config/routes.rb [...] root :to => "companies#index" resources :companies do member do post :vote delete :unvote end end The problem is that the server receives GET requests instead of POST and DELETE: Started GET "/companies/1/vote" for 127.0.0.1 at 2011-03-06 22:27:37 +0100 So I receive a Routing Error because I don't have any GET route for :vote and :unvote. What am I doing wrong? Thanks for your time and help. -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.