我正在使用两个collection_select
视图
<%= collection_select(@table, "gm", @strs, "country", "country", {:prompt => "Select Country"}) %>
<%= submit_tag value="Proceed-->"%>
<%= collection_select(@table, "sp", @pops, "state", "state", {:prompt => "Select State"}) %>
<%= submit_tag value="Submit"%>
控制器
@strs = Table.find_by_sql("SELECT DISTINCT country FROM tables ORDER BY country")
@pops = Table.find(:all, :conditions=>{:country => params[:gm]}, :order=> 'state', :select=> 'DISTINCT state')
这里是关系collection_select。第一次选择collection_select后,我需要填充第二个collection_select。现在我使用提交密钥。但是,一旦“Proceed”提交被处理,params [gm]被禁用。所以我无法使用params [gm]和params [sp]为@table处理“Submit”标记。
我发现使用javascript创建动态collection_select有一些想法。但是,我需要单独使用rails来动态或单次处理关系参数[gm]和params [sp]。请任何人帮助我。