Rails表单不会选择默认值 [英] Rails form won't select default value

查看:229
本文介绍了Rails表单不会选择默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Rails 4.0 Ruby 2.0,SimpleForm 3.1.0.rc2

为什么在第二个示例中选择了第一个示例时未选择默认值?这两个例子都是相同的形式。更重要的是,我想,我该如何解决它?感谢。

 <%= f.input(:location_id,{input_html:{value:@ car.location},collection :Location.all.order(name)。collect {| c | [c.name,c.id]},提示符:Location?})%> 

< option value =9> 2015< / option>
< option value =10> 2014< / option>
< option value =8selected =selected> 2013< / option>
< option value =7> 2012< / option>
< option value =6> 2011< / option>
< option value =5> 2010< / option>
< option value =2> 2009< / option>
< option value =4> 2008< / option>
< option value =1> 2007< / option>
< option value =3> 2006< / option>
< option value =13> 2005< / option>
< option value =17> 2004< / option>
< option value =14> 2003< / option>
< option value =11> 2002< / option>
< option value =16> 2001< / option>
< option value =15> 2000< / option>
< option value =12> 1999< / option>
< / select>

表单为:

 < div class =span8> 
<%= simple_form_for [:admin,@car],
默认值:{label:false},
html:{class:'form-vertical'},
wrapper ::vertical_form,
wrapper_mappings:{
check_boxes::vertical_radio_and_checkboxes,
radio_buttons::vertical_radio_and_checkboxes,
file::vertical_file_input,
布尔值::vertical_boolean
} do | f | %GT;
<%= f.input(:stock_number,{input_html:{value:@ car.stock_number},disabled:true,autocomplete :: off,placeholder:'Stock number?'})%>
<%= f.input(:ymm_year_id,{input_html:{value:@ car.year},collection:YmmYear.all.order(year desc)。collect {| c | [c.year ,c.id]},提示:Year?})%>
<%= f.input(:ymm_make_id,{input_html:{value:@ car.make},collection:YmmMake.makes(@ car.ymm_year_id).collect {| c | [c.make,c .id]},提示:Make?})%>
<%= f.input(:ymm_model_id,{input_html:{value:@ car.model},collection:YmmModel.models(@ car.ymm_make_id).collect {| c | [c.model,c .id]},提示:Model?})%>
<%= f.association(:color,{input_html:{value:@ car.color},autocomplete :: off,prompt:'Color?'})%>
<%= f.input(:location_id,{input_html:{value:@ car.location},collection:Location.all.order(name)。collect {| c | [c.name, c.id]},提示符:Location?})%>
< div class =col-xs-6 col-sm-3>
< br />
<%= f.button:submit%>
< br />< br />
<%= link_to'删除汽车',admin_car_path(@car),class:'btn btn-warning',data:{confirm:'Are you sure?'},:method => :删除%>
< / div>
<%end%>
< / div>

示例JQuery以表单运行:

<$ p $(){$'$'$'$'$'$'$'$'$'$'参数
$ .getJSON(/ ymm_makes,{year:$(this).val()},function(data){
var options_html = ['< option value => Make?< / option>'];
//遍历我们收到的JSON;每个条目都是'ymm_make'
$ .each(data,function(index,make){
if(index = 0){options_html.push('< option value => Make?< / option>');}
//创建一个新的< option>标记每个make和push到options_html数组
options_html.push(< option value ='+ make.id +'>+ make.make +< / option>);
});
//将我们生成的所有< options>标记放到< select>标记中
$('select#car_ymm_make_ id(')。html(options_html.join(''))。prop('disabled',false);
});
});

编辑:使用变量的无修改代码:

 <%= f.input(:location,{collection:Location.all.order(name)。collect {| c | [c.name,c.id ]},提示符:Location?})%> 
发送“验证码”获取 | 15天全站免登陆