在ajax调用之后,@ variable以错误的格式返回

时间:2010-11-04 23:09:54

标签: javascript ruby-on-rails ajax

有谁知道我如何影响实例的格式 在ajax调用之后返回它的变量。

在我尝试渲染它的那一刻,我收到错误: - 不兼容的编码regexp匹配(UTF-8 regexp与ASCII-8BIT 字符串)

当在实例中呈现实例变量时会发生这种情况 index.js.erb文件。

似乎format.js正在以错误的形式返回@variable 格式。

1 个答案:

答案 0 :(得分:0)

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

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

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

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

当我这样做时: -

<%= render(@homepages)%> (在他的情况下<%= render(@products)%>)

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

然后在“_homepage”中我会添加我的代码来渲染结果。

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

目前我遇到一个小问题,即它将“@homepages”中的所有数据渲染为记录数量的多倍。 目前我不知道为什么,但至少Ajax调用正在发挥作用。