2013-08-07 60 views
0

控制器方法一起:我們可以通過額外的參數,在軌渲染方法

def add 
@project = Project.find(1) 
render xml: @project #wish to pass one more variable like this here 
end 

Ajax調用:

endpoint = ROOT_PATH + '/projects/add/'+data_type; 
    $.ajax({ 
      url : endpoint, 
      type : "get", 
      dataType : "xml", 
      success : function(xml) { 

          id = $(xml).find('id').text(); 
       title = $(xml).find('title').text(); 

        // wish to display the sent additional parameter here. 
    } 
    }); 

我能夠獲得項目實例參數「ID」和「標題」中ajax調用。但我希望再發送一個參數以及@project,並希望在ajax調用中使用此參數的值。有人可以幫我解決問題嗎?謝謝!

回答

1

的方法之一可能是:

如果你要發送的請求params中,零@patient然後
render xml: @patient.as_json.merge({:YOUR_KEY => YOUR_VALUE}) 

requested_params = params.except(:controller, :action) 
render xml: @patient.present? ? @patient.as_json.merge(requested_params) : requested_params` 
+0

真棒謝謝! – user2569524

+0

...但是如果@ patient = 1 ...這種方法失敗,出現undefinedmethodError(對於1:Fixnum的未定義方法「合併」)......在這種情況下可以做什麼? – user2569524

+0

我認爲'@ patient'是一個activerecord對象。如果你期望'@ patient'作爲不同的東西,然後澄清它:) – Muntasim

相關問題