2010-11-01 85 views
0

用ajax我想更新我的DIV做一个搜索@homepages后: - $( “testsearch”)更新(” <%= escape_javascript(渲染(@homepages)% >“);在我的index.js.erb的AJAX搜索,使用Javascript,Rails的3

,因为我得到一个内部服务器错误,不工作: - 故障安全响应期间 错误:不兼容的编码正则表达式匹配(UTF-8正则表达式与ASCII-8BIT字符串)

任何人有任何想法,为什么我收到此错误。

作为测试以下渲染确定。 $(“testsearch”)。update(“<%= escape_javascript(render:text =>'This is UJS')%>”);

回答

1

我已经通过进入一个IRC聊天室(irc.freenode.net RubyonRails)和一个ProjectZen(人类在以太网的某个地方)来破解它,帮助我实现它。

显然发生了什么事情是我跟随Ryan Bates做了许多非常棒的Railcast视频,但他建立在以前的Railcast上。因此,在他处理Ajax呼叫的205 Railscast中,他没有提到你必须拥有: -

format.js在控制器中的操作。

他的xxxx.searchxxxxx需要在控制器或模型中创建。

而且,当我做: -

<%=渲染(@homepages)%>(在他的案件<%=渲染(@products)%>)

渲染一直在寻找一种部分称为“_homepage”(不是“主页”)(我甚至没有一个部分,因此我得到了UTF8到ASCII错误)。

然后在“_homepage”中添加我的代码来呈现结果。

我现在在我的index.html.erb中做的是在(div id = testsearch)中放置<%= render(@homepages)%>来代替我用于呈现@home页面的代码,以及然后将该代码放在部分“_homepage”中。现在我可以使用“_homepage”进行html和Ajax调用。

目前我遇到了一个小问题,那就是将“@homepages”中的所有数据渲染的次数与记录数一样多。 目前我不知道为什么,但至少Ajax调用正在工作。