다음과 같은 jQuery Ajax PUT 요청을 보내려고합니다.jQuery를 사용하여 JSON 데이터를 Ruby on Rails에 어떻게 퍼팅합니까?
$.ajax({
type: "PUT",
url: '/admin/pages/1.json',
data: { page : {...} },
dataType: 'json',
success: function(msg) {
alert("Data Saved: " + msg);
}
});
컨트롤러가 대략 다음과 같이 보입니다.
respond_to do |format|
if @page.update_attributes params[:page]
format.html{ ... }
format.json{ render :json => {:saved => 'ok'}.to_json }
else
format.html{ ... }
format.json{ render :json => {:saved => 'fail'}.to_json }
end
end
그러나 다음과 같은 오류가 발생합니다.
nil.name을 평가하는 동안 오류가 발생했습니다. /라이브러리/Ruby/Gems/1/2/gems/activesupport-2.3.2/lib/active_support/xml_mini/rexml.rb:29:in merge_element!' /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/xml_mini/rexml.rb:18:in
parse ' ( DELEGATION) : 2 : __send__' (__DELEGATION__):2:in
에서 ' /라이브러리/Ruby/Gems/1/8/gems/activesupport-2.3.2/lib/active_support/core_ext/hash/conversions.rb:154:in'from_xml ' ... ...
Ruby on Rails가 매개 변수를 XML로 구문 분석하려고하지만 JSON을 사용하고 싶습니다!
JSON을 Ruby on Rails에 적용하려면 어떻게해야합니까?
업데이트를 원래의 질문을 편집하는 대신 새 질문을 물어 :
또한, 당신은
JSON.stringify
를 사용하여data
필드를 직렬화 할 필요가 http://stackoverflow.com/questions/907910/how- do-i-put-data-to-rails-using-jquery – tvanfosson