Routes and IDs above 9

I feel really silly right now but can't get past a weird error:

user_update_url failed to generate from
{:controller=>"users", :id=>10, :action=>"update"}, expected:
{:controller=>"users", :action=>"update"}, diff: {:id=>10}

Extracted source (around line #7):

4: <div class="main">
5:
6: <div class="welcome">
7: <% form_tag user_update_url(:id => self.current_user.id), :method
=> 'post', :class => 'editing inline' do %>
8: <h2>Welcome <span><%= current_user.name %></span></h2>
9: <div class="tagline">
10: <% if current_user.attribute_present? 'tagline' %>

The really weird problem is that I only get this error when the user
has an ID over 9. The ID is set as a bigint in mysql.

What should I be looking for to solve this problem? The route for
that URL looks like this:

map.user_update 'users/:id/update', :controller => 'users', :action =>
'update', :requirements => { :id => /\d/ }

Thanks,
Jeremy

I've figured it and and feel pretty stupid. :wink: Did you catch my
problem? It's the routes requirements was looking for a single digit:

requirements => { :id => /\d/ }

The change was to simply add a "+":

requirements => { :id => /\d+/ }

Ha ha.

:slight_smile:

I both love it and hate it when I do things like that.

The 9 was a big giveaway, though. It would have been my first guess: a
constraint on a single digit. Glad you caught it, though. Now you are
your own mentor!

-Danimal