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
上這是正常的,一個UPDATE將不返回對象,因爲你已經在你身上的對象..