2010-11-01 2 views
0

После выполнения поиска @homepages с помощью ajax я хочу обновить свой div: - $ ("testsearch"). Update ("<% = escape_javascript (render (@homepages)% > "); в моем index.js.erbAjax search, Javascript, Rails 3

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

Каждый имеет какие-либо идеи, почему я получаю эту ошибку.

в качестве теста на следующий делает OK. $ ("testsearch"). Update ("<% = escape_javascript (render: text => 'это UJS')%>");

ответ

1

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

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

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

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

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

<% = визуализации (@homepages)%> (в его случае <% = Render (@products)%>)

рендер искал частично называемый «_homepage» (не «домашние страницы») (у меня даже не было частичного, поэтому я получил ошибку UTF8 для ASCII).

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

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

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