Ajax поиск, Javascript, Rails 3 - PullRequest
       0

Ajax поиск, Javascript, Rails 3

0 голосов
/ 01 ноября 2010

После поиска @homepages с использованием ajax я хочу обновить свой div с помощью: - $ ("testsearch"). update ("<% = escape_javascript (render (@homepages)%>"); в моем index.js.erb

Что не работает, так как я получаю внутреннюю ошибку сервера: - Ошибка при отказоустойчивом ответе: несовместимое совпадение регулярного выражения кодировки (регулярное выражение UTF-8 со строкой ASCII-8BIT)

У кого-нибудь есть идеи, почему я получаю эту ошибку.

В качестве теста следующее отдает ОК. $ ("testsearch"). update ("<% = escape_javascript (render: text => 'this is UJS')%>");

1 Ответ

1 голос
/ 07 ноября 2010

Я взломал его, зайдя в IRC-чат (irc.freenode.net RubyonRails), и ProjectZen (человек где-то в эфире) помог мне заставить его работать.

Видимо, чтопроисходило то, что я следил за Райаном Бейтсом, который делает много очень хороших видео Railcast, но он опирается на предыдущий Railcast.Поэтому в своем 205 Railscast, который имеет дело с вызовами Ajax, он не упомянул, что вы должны иметь: -

format.js в действии в контроллере.

Его xxxx.searchxxxxx нужнобыть создан в контроллере или модели.

И это, когда я сделал: -

<% = render (@homepages)%> (в его случае <% = render (@products)%>)

Рендеринг искал частичную часть с именем "_homepage" (не "homepages") (у меня даже не было частичной части, поэтому я получил ошибку UTF8 в ASCII).

Изатем в "_homepage" я бы добавил свой код для рендеринга результатов.

Что я сейчас сделал в моем index.html.erb, так это вставил <% = render (@homepages)%> в (div id = testsearch) вместо кода, который я использую для рендеринга @homepages, а затем помещаю этот код в частичную "_homepage".Теперь я могу использовать "_homepage" для html и вызова Ajax.

В настоящий момент у меня есть небольшая проблема в том, что он рендерит все данные в "@homepages" столько раз, сколько числозаписей.На данный момент я не знаю почему, но по крайней мере Ajax-вызов работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...