Thanks, this pretty helpful. I am going through this step by step. Had
no idea even how to begin this or even what to call it when try to find
a solution
— On Tue, 11/18/08, Thorsten Müller [email protected] wrote:
From: Thorsten Müller [email protected]
Subject: [Rails] Re: Creating a Query and then a select box based off
query results
To: “Ruby on Rails: Talk” [email protected]
Date: Tuesday, November 18, 2008, 6:22 AM
Roughly you will change the view when the user selects a server.
Use the onchange (not onclick) event of the select box
to trigger the next view.
Obviously that should be an Ajax call, since there is no
need to update the whole page.
something similar, a category select with subcategories:
the view with the main category select:
<select name=“category_main” id=“category_main”
style=“float:left;
width:200px;” onchange=“<%= remote_function(:url =>
sub_category_depot_product_url(@product), :with =>
“‘category_id=’ +
this.value”) %>”>
Kies een categorie
<%= options_from_collection_for_select(@categories,
“id”,
“title”, (@product.category ? @product.category.category_id : 0))
%>
the action to get the sub categories:
def sub_category
@product = Product.find(params[:id])
@categories = Category.find(:all, :order => “title
ASC”, :conditions => “category_id = #{params[:category_id]} AND
published=1”)
respond_to do |format|
format.js
end
end
the ajax response used by this action:
page.replace(:category_sub, :partial => ‘depot/products/
sub_category_select’, :locals => {:categories => @categories,
:product
=> @product})
and the partial used by the ajax response:
<%= options_from_collection_for_select(categories, “id”,
“title”,
product.category_id) %>