带有jquery的rails 3中的prototype_helpers - 我还应该使用jrails插件吗?或者现在有不同的方式吗?

发布于 2024-10-28 18:18:14 字数 931 浏览 3 评论 0原文

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

我在我的玩具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 插件吗?或者现在有不同的解决方案吗?

感谢任何想法 - max

编辑 - 当我将代码从 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 和现在看起来还好。

I'm just getting to grips with rails 3. My latest speedbump is to do with the prototype helpers i use in js.rjs files. In some of my rails 2 apps, i ditched prototype in favour of jquery, and that's what i've done here. To get the helpers, eg page.replace & page.replace_html back, i then used the jrails plugin which replicated the functionality but using jquery instead of prototype (or at least that was my understanding of it).

I'm using jquery instead of prototype in my toy rails 3 app and have hit the same problem: the page.replace helper doesn't work:

I have this code in update.js.rjs:

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

which causes this error from line 2 (the alert runs fine):

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

Do i just need to install the jrails plugin again? Or is there a different solution these days?

grateful for any thoughts - max

EDIT - i get the same problem when i move the code from a js.rjs file into my controller, like so:

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

EDIT - in the end, for lack of anything else, i just installed the jrails gem and it seems fine now.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故事还在继续 2024-11-04 18:18:14

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

gem 'jquery-rails'

到您的 gemfile,

bundle install
rails g jquery:install

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

You'll want to use the jquery-rails gem. This will replace prototype helpers with jquery helpers by providing a rails.js file. Add

gem 'jquery-rails'

to your gemfile,

bundle install
rails g jquery:install

to install the gem and generate the correct files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文