0

依存するドロップダウンボックスを作成しようとしています。「要素」は「グループ化」に依存しています。

'temp'が渡されたため、私のajaxSelectOptions関数は機能しているようですが、'populate_element'では使用されていません。'temp'をパラメータ:idとして使用するにはどうすればよいですか?

私のグリッド:

jQuery(document).ready(function(){
var lastsel;
var grid = jQuery("#list").jqGrid({

url:'codes/get_data.xml',
datatype: 'xml',
mtype: 'GET',
colNames:['ID', 'Version', 'Grouping', 'Element', 'Name'],
colModel:[
    {name: 'id', index: 'id', hidden: true, editable: false },
    {name: 'version', index: 'version',editable: true, editrules:{number:true}, cellEdit: true, search:true },
    {name: 'grouping', index: 'grouping', editable: true, edittype: 'select', editoptions: {dataUrl: 'codes/populate_grouping.html'} },
    {name: 'element', index: 'element', editable: true, edittype: 'select' }
],
pager: '#pager',
rowNum:200,
rowList:[50,100,200],
sortname: 'id',
sortorder: 'asc',
viewrecords: true, 
height: 500,
scrollrows: true,
rownumbers: false,
caption: 'GL Codes',
editurl: 'codes/post_data.xml',

onSelectRow: function(id){
    $("#list").setColProp('element', {editoptions: { dataUrl: 'codes/populate_element.html' }});

    if(id && id!==lastsel){
        $('#list').restoreRow(lastsel);         
       lastsel=id;
    }
    $('#list').editRow(id,true);        
},
ajaxSelectOptions: {
      data: {
        temp: function(temp){
          return grid.jqGrid('getGridParam', 'selrow')
        } 
      }
    }

});

これが私のエラーメッセージです:

Started GET "/codes/populate_element.html?temp=4" for 127.0.0.1 at 2012-09-27 17:18:33 +1200
Processing by CodesController#populate_element as HTML
  Parameters: {"temp"=>"4"}
Completed 500 Internal Server Error in 1ms

ActiveRecord::RecordNotFound (Couldn't find Code without an ID):
app/controllers/codes_controller.rb:73:in `populate_element' 

更新 私は、それがjqGridの問題ではなく、実際にはparamの呼び出しにおける単なるルビー構文エラーであることを確認しました。参考までに、私はそれを次のように呼び出すことになりました... @code = Code.where(["id =?"、params [:temp]])。first

4

1 に答える 1

0

問題は、グリッドの行に間違った ID を使用していることだと思います。グリッドの塗りつぶし中にエラーが発生しました。この問題を解決する最も簡単な方法は、 の列key: trueの定義にプロパティを追加することです。列の値が行ID として使用される場合:グリッドの行 ( ) の属性の値。'id'colModelidid<tr>

于 2012-09-27T05:48:18.170 に答える