Stumped on routing - getting 'no route matches' error but route exists AFAIK

Stumped on this, can anyone help:

When I ask for ‘accept_invitation_url’, I get: ActionController::RoutingError Exception: No route matches {:controller=>“invitations”, :action=>“accept”}

However as far as I can tell it should exist. I dont get it. I have virtually the same structure with another app and it works fine.

class InvitationsController < ApplicationController … def accept @invitation = Invitation.find_by_token(params[:token]) end end

MyApp::Application.routes.draw do … resources :invitations match “/invitations/accept/:token” => “invitations#accept”, :as => :accept_invitation … end

A little trick is to type rake routes in your terminal to view the routes available.

but it seems that you should be able to call accept_invitation_url(:token => “your token”)

-J

A little trick is to type rake routes in your terminal to view the routes available.

but it seems that you should be able to call accept_invitation_url(:token => “your token”)

Thanks, I had looked at rake routes before and again now… so it is really bizarre:

(rdb:1) accept_band_invitation_url ActionController::RoutingError Exception: No route matches {:controller=>“accounts”, :action=>“new”}

Yet in my rake routes

new_account GET /accounts/new(.:format) {:action=>“new”, :controller=>“accounts”}

accept_band_invitation /accept_band_invitation/:token(.:format) {:controller=>“accounts”, :action=>“new”}

Guess I can just hand code the url but I hate not understanding what is wrong.

A little trick is to type rake routes in your terminal to view the routes available.

but it seems that you should be able to call accept_invitation_url(:token => “your token”)

Thanks, I had looked at rake routes before and again now… so it is really bizarre:

(rdb:1) accept_band_invitation_url ActionController::RoutingError Exception: No route matches {:controller=>“accounts”, :action=>“new”}

Yet in my rake routes

new_account GET /accounts/new(.:format) {:action=>“new”, :controller=>“accounts”}

accept_band_invitation /accept_band_invitation/:token(.:format) {:controller=>“accounts”, :action=>“new”}

Are you passing a :token parameter to the named route? ie. accept_band_invitation_url(‘this-is-my-token’)