1

我刚刚开始掌握 Rails 3。我最新的加速器与我在 js.rjs 文件中使用的原型助手有关。在我的一些 rails 2 应用程序中,我放弃了原型以支持 jquery,这就是我在这里所做的。为了获得帮助程序,例如page.replace&page.replace_html返回,我使用了 jrails 插件,它复制了功能但使用 jquery 而不是原型(或者至少这是我对它的理解)。

我在我的 toy rails 3 应用程序中使用 jquery 而不是原型,并且遇到了同样的问题:page.replace 助手不起作用:

我有这个代码update.js.rjs

page.alert "posted"
page.replace "tweets", :partial => "twitter/tweets"

这会导致第 2 行出现此错误(警报运行正常):

RJS error: TypeError: Element.replace is not a function

我只需要再次安装 jrails 插件吗?还是这些天有不同的解决方案?

感谢任何想法 - 最大

编辑 - 当我将代码从 js.rjs 文件移动到我的控制器时,我遇到了同样的问题,如下所示:

respond_to do |format|
  format.js do 
    render :update do |page|
      page.alert "posted"
      page.replace "tweets", :partial => "twitter/tweets"
    end  
  end
end

编辑 - 最后,由于缺乏其他任何东西,我刚刚安装了 jrails gem,现在看起来很好。

4

1 回答 1

0

您需要使用jquery-rails gem。这将通过提供 rails.js 文件将原型助手替换为 jquery 助手。添加

gem 'jquery-rails'

到你的 gemfile,

bundle install
rails g jquery:install

安装 gem 并生成正确的文件。

于 2011-03-31T11:39:30.710 回答