Rails неправильно анализирует кавычки - PullRequest
0 голосов
/ 06 августа 2010

Я использую 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 голосов
/ 16 сентября 2010

Это связано с ошибкой в ​​Rack, которая все еще присутствует в Rails 2.3.8: https://rails.lighthouseapp.com/projects/8994/tickets/4808-textarea-input-silently-truncated-in-238

Патч на билете исправляет это до тех пор, пока не будет обновлен апстрим.

...