Monday, February 13, 2012

Trigger a form submit on a different page - Rails 3


So, I have a form on page 'A' which lets users type in the name of a band and see album covers and prices, courtesy of the Amazon API.




<%= form_tag(amazon_path, :method => 'get') do %>
<h3> Search for Albums </h3>
<%= label_tag(:amazon_search_form, "by Band/Artist:") %>
<%= text_field_tag(:amazon_search_form) %>
<%= submit_tag("Search") %>
<% end %>



Users can also see all bands they are following on their profile page. From their profile page, they are able to select a band 'b' (perhaps by clicking on the band's img). After that, if they click on the link to go to page 'A', I would like the form to be automatically submitted with band 'b's name so that the user won't have to type in the name of band 'b' to see the albums for band 'b'.



I can't tell if jQuery's .submit function can pass a parameter of the band's name to the form when the user navigates to page 'A'. The other problem is that the form is on another page which confounds me. I'm not even sure where to look for the answer. Is there a solution within Rails 3 to this problem?



Any tips would help me. Thank you!

1 comment:

  1. Unless there is an unspecified reason not to, I would just make the link carry the band name from its profile page.

    So something like:

    <%= link_to "Nirvana", amazon_path(:amazon_search_form => "Nirvana") %>


    This should hit your amazon_path endpoint with the search term and render your template with the albums

    ReplyDelete