2016-05-17 37 views
1

我有一個簡單的搜索form_tag在Rails 4應用程序。select_tag的自定義數據屬性不提交 - 導軌4

其中一個選項是select_tag:

<%= select_tag "plottable[plottable_id]", options_for_select(Plottable.all.map{ |plottable| [ plottable, plottable.id, { 'plottbale-type' => plottable.class } ] }), prompt: 'Select one option'%> 

的HTML正確生成,導致:

<select name="plottable[plottable_id]" id="plottable_plottable_id"> 
    <option value="">Select one option</option> 
    <option plottable-type="Pool" value="3">Pool1</option> 
    <option plottable-type="Pool" value="4">Pool2</option> 
    <option plottable-type="Asset" value="33">Asset1</option> 
    <option plottable-type="Asset" value="34">Asset2</option> 
</select> 

在提交plottable型沒有得到提交表單。這裏是參數:

Parameters: {"utf8"=>"✓", "from_time"=>"", "to_time"=>"", "plottable"=>{"plottable_id"=>"35"}, "commit"=>"Search"} 

感謝您的建議。

+0

無法提交數據與表單 – Thorin

+0

屬性然後只需創建一個隱藏的字段標籤並通過該提交 – Thorin

回答

2

就試試這個:

<select name="plottable[plottable_id]" id="plottable_plottable_id"> 
<option value="">Select one option</option> 
    <option plottable-type="Pool" value="3">Pool1</option> 
    <option plottable-type="Pool" value="4">Pool2</option> 
    <option plottable-type="Asset" value="33">Asset1</option> 
    <option plottable-type="Asset" value="34">Asset2</option> 
</select> 
<input type="hidden" name=plottable[type] value="", id="plottable_plottable_type"> 


$('#plottable_plottable_id').on('change', function(){ 
    var type = $('option:selected', this).attr('plottable-type'); 
    $('#plottable_plottable_type').val(type); 
}) 

您可以通過Rails代碼添加隱藏字段標籤以及

<%= hidden_field_tag "plottable[plottable_type]"%> 
,如果你要發送此PARAMS與形式
+0

非常感謝!稍微調整一下選擇器就行了! –