Rails解析jQuery引号错误

时间:2010-08-06 15:18:58

标签: jquery ruby-on-rails ajax rack

我正在使用Rails 2.3.8并使用发布的jQuery AJAX表单:

jQuery.fn.submitWithAjax = function() {
  this.submit(function() {
    jQuery.post(this.action, $j(this).serialize(), null, "script");
    return false;
  });
  return this;
};

如果我尝试发布带有引号的文字,例如

1
"2"
3

仅接收引号内的内容作为参数:

Parameters: {"contact_id"=>"1", "action"=>"create", "note"=>{"note"=>"2"}, "controller"=>"notes"}

知道为什么吗?

浏览器中的jQuery.serialize返回 note%5Bnote%5D = 1%0A%222%22%0A3

更新:这是表格

<form action="/contacts/1/notes" class="note_form" id="note_create_form" method="post">
<p><textarea class="autogrow" cols="40" id="note_note" name="note[note]" rows="20"></textarea></p>
<p><input class="submitbut" name="commit" type="submit" value="Add this Note" /> </p>
</form>

1 个答案:

答案 0 :(得分:0)

这是因为Rack中的一个错误仍存在于Rails 2.3.8中: https://rails.lighthouseapp.com/projects/8994/tickets/4808-textarea-input-silently-truncated-in-238

故障单上的补丁修复此问题,直到它在上游更新。