:params => params does not work :-(

Hello
I'm applying some filter functionallity to my controller and would
like to have pagination and params sendt without using sessions.
My filter works and it is sent so I can use it like this:

params[:filter][:filter_a]
params[:filter][:filter_b]
and so on.

This works fine, but problem start when I use pagination and would
like to send the params array to the next page.

So I do something like this:
<%= link_to 'Next', { :page => @myObjects_pages.current.next, :params
=> params } %>

When I do this the link does not work. It seems it is changed from:
http://myhost/mycontroller;filter?filter[filter_a]=X
to:
http://myhost/mycontroller;filter?page=2&filter=filter_aX

Any easy fixes here?

/Frode

MartOn wrote:

Hello
I'm applying some filter functionallity to my controller and would
like to have pagination and params sendt without using sessions.
My filter works and it is sent so I can use it like this:

params[:filter][:filter_a]
params[:filter][:filter_b]
and so on.

This works fine, but problem start when I use pagination and would
like to send the params array to the next page.

So I do something like this:
<%= link_to 'Next', { :page => @myObjects_pages.current.next, :params
=> params } %>

When I do this the link does not work. It seems it is changed from:
http://myhost/mycontroller;filter?filter[filter_a]=X
to:
http://myhost/mycontroller;filter?page=2&filter=filter_aX

Any easy fixes here?

/Frode

>

Frode, why do not you try with:
<%= link_to 'Next', { params.merge({:page =>
@myObjects_pages.current.next}) } %>

hope that helps...
Bojan

It is DRY'er, but it still does not work
Still the %5B and the %5D and the = signs are gone..
It seems it does not support multi dimension params array..

/Frode

Hello
I'm applying some filter functionallity to my controller and would
like to have pagination and params sendt without using sessions.
My filter works and it is sent so I can use it like this:

params[:filter][:filter_a]
params[:filter][:filter_b]
and so on.

This works fine, but problem start when I use pagination and would
like to send the params array to the next page.

So I do something like this:
<%= link_to 'Next', { :page => @myObjects_pages.current.next, :params
=> params } %>

When I do this the link does not work. It seems it is changed from:
http://myhost/mycontroller;filter?filter[filter_a]=X
to:
http://myhost/mycontroller;filter?page=2&filter=filter_aX

Any easy fixes here?

Generates the same problem as mentioned in my first post.
the params array holds all information, but I need to know how to
konvert it correctly to :params.

/MartOn

So I do something like this:
<%= link_to 'Next', { :page => @myObjects_pages.current.next, :params
=> params } %>

When I do this the link does not work. It seems it is changed from:

First you have to understand what's going on here so you can fix it. what you are doing with "link_to" is generating a plain old anchor (link) object in your html, so it's going to be difficult to pass any value other than a string (or something easy to convert to string).

One solution you can try is to serialize it with Marshal.dump(params) and then in the controller restore it with Marshal.restore. I'm not sure what kind of string you would obtain from Marshal and also not sure if link_to is smart enough to escape the char sequence is necessary. If you find any issues about that, then you should Marshall then escape, and in the controller first unescape and then restore the object.

good luck!

javier ramirez

Interesting.. I will have a look at it.
But I believe there must be some kind of functionality already in
Rails.
All this params management works inside the form_for. I create for
instance a text_field 'filter', 'filter_a'
and rails will send and handle the params handling for me.. My problem
is to send the same variables from a link and not from inside the
form.
PS! I'm using the Restful way and the form action uss GET instead of
POST.

Ï have been thinking of changing the next link to a form button, but I
would like to do it the Rails way..

Any1 knows about good examples/tutorials of filters in rails?

/Frode