Why is 'get :index, :page => 2' different from 'get :index, :page => "2"'

Hi,

After coding my app and enjoying a green wave of tests, I had horrible
feedback about some bugs.

Those bugs happened to some well tested parts of my app.

After some research, I found out that

get :index, :page => 2, :per_page => 5

is different from:

get :index, :page => “2”, :per_page => “5”

So I simply missed some ‘to_i’ in my controller.

I thought, the ‘get’ parameters would have been stringified, like it
is in a standard request.

Why is it not the case?

On Thu, Jan 5, 2012 at 5:45 PM, apneadiving
[email protected] wrote:

is different from:

get :index, :page => “2”, :per_page => “5”

So I simply missed some ‘to_i’ in my controller.

I thought, the ‘get’ parameters would have been stringified, like it
is in a standard request.

That’s what I thought too!

Why is it not the case?

It is, depending on what version of Rails you’re using. Don’t remember
which version included my patch(es), but I think it was 3.1.

HTH,
David

On Jan 6, 12:55am, David C. [email protected] wrote:

get :index, :page => 2, :per_page => 5
That’s what I thought too!
HTH,
David


rspec-users mailing list
[email protected]://rubyforge.org/mailman/listinfo/rspec-users

You definitely rock.

Thanks a bunch for this neat & quick answer :slight_smile: