2011-02-05 43 views
2

我想遠程更新記錄(通過ajax),並得到一個包含序列化記錄的響應,但我不斷地得到xhr.responseText = {}。我希望收到更新記錄的序列化版本。Rails respond_with json工作不正確

這是我的看法形式...

=semantic_form_for theme, :html => {'data-type' => 'json', :id => :theme_display_type_form, :remote => true} do |form| 
    -form.inputs do 
     =form.input :display_type 

,其處理控制器...

respond_to :html, :json 

... other actions... 

def update 
    flash[:success] = "Theme was successfully updated" if theme.update_attributes params[:theme] 
    respond_with(theme) 
end 

,然後響應由rails.js AJAX抓:成功事件

$('#theme_display_type_form').bind('ajax:success', function(evt, data, status, xhr){ 
    var responseObject = $.parseJSON(xhr.responseText); 
    alert(xhr.responseText); // = {} 
    alert(responseObject); // = null 
}); 

我必須缺少一些東西。任何人都可以告訴我我做錯了什麼嗎?


編輯

它看起來像我可以是具有 'respond_with' 在我的控制器使用舊的respond_to方法正常工作的問題...

def update 
    flash[:success] = "Theme was successfully updated" if theme.update_attributes params[:theme] 
    respond_to do |format| 
     format.json { render :json => theme } 
    end 
end 

任何人有任何想法爲什麼respond_with不正常工作?


ANSWER

按燈塔張貼https://rails.lighthouseapp.com/projects/8994/tickets/5199-respond_with-returns-on-put-and-delete-verb

這是正常的,一個UPDATE將不返回對象,因爲你已經在你身上的對象..

回答

0

我確實遇到了respond_with問題,但respond_to正常工作。

我在POST(創建)中看到它。似乎有時候回覆作品...