form_tag and link_to

47 views
Skip to first unread message

Melb01

unread,
Jan 15, 2015, 4:30:17 AM1/15/15
to rubyonra...@googlegroups.com
Hi

I have a search box put in a form that I want when I submit I get redirected to an other page where I get results
the problem is I can't get the right link in the target page and I am unable to make pagination because params is not set

let's say I have the home page with the form:

<%= form_tag(result_path(:q => :term)) do %>
<%text_field :term %>
 <div><%
= submit_tag 'Search' %></div> <% end %>

and result page like this:


<%= form_tag(result_path(:q => :term)) do %>
<%text_field :term %>
 <div><%
= submit_tag 'Search' %></div> <% end %>
<div>

<% @results.each do |results| %>
 
<!-- do smth with results--> <% end %> <%= will_paginate @results %>
</div>

when I click Search button, I get result page but not like expected,
I get:
http://localhost:3000/result
and what I expected
http://localhost:3000/result?q:term

How can I solve this problem: making the query in a page and getting the results in others page
without losing the normal behaviour of pagination and target form


rgds,

Vivek Sampara

unread,
Jan 15, 2015, 4:34:27 AM1/15/15
to rubyonra...@googlegroups.com
Hi, 

Change the form :method to :get

<%= form_tag(result_path(:q => :term), :method => :get) do %>

<%text_field :term %>
 <div><%= submit_tag 'Search' %></div> <% end %>

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/b638fea7-3de4-4dab-846a-edcd3623c40a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Melb01

unread,
Jan 15, 2015, 5:54:32 AM1/15/15
to rubyonra...@googlegroups.com
thx, I'll try this
but how can I fill the target form with the same term too in result page (I am trying to reproduce the google search experience )

rgds,

Vivek Sampara

unread,
Jan 15, 2015, 6:02:57 AM1/15/15
to rubyonra...@googlegroups.com
Like this .

<%= form_tag(result_path(:q => params[:q]), :method => :get) do %>

<%text_field :term %>
 <div><%= submit_tag 'Search' %></div> <% end %>

Melb01

unread,
Jan 16, 2015, 3:17:33 AM1/16/15
to rubyonra...@googlegroups.com
It worked greatly, thx
Is it possible to do the same thing between two pages of search without submitting?
means I have two pages of results, I do a search with the first staying in the same page but when I click the second page I get the search term and I perform a search automatically in the second page
(like google: after doing a web search you click image and a search for image with the same term is done or is it simple the sma epage with different tabs)

rgds,

Reply all
Reply to author
Forward
0 new messages