Jrails 和 jquery-rails 一起吗?
如果我对此感到有点困惑,希望您能原谅我。
Jrails 在原型中重写了 rjs 的所有辅助方法。
Jquery-rails 覆盖了rails.js(所以我也教了 rjs 助手,但我发现它不是),并且 jquery 中的其余库而不是原型。
这是否意味着仅使用 Jquery-rails 我根本无法使用 rjs? 那么这些宝石是否可以很好地协同工作并让我完全忘记原型? 一起使用它们有什么缺点吗?
我读到一些抱怨 jrails 使用 jq 1.5 而现在有 1.8,但是 jquery-rails 给了我最后一个版本(是否有复古兼容性?),但这将如何影响我的开发(同时使用 gems一起)?我的意思是 你有一些我无法使用的 jquery-ui 插件的示例吗?或者我在使用最新版本时可能会遇到问题?
任何帮助表示赞赏。
不要误会我的意思,我并不反对原型,只是我一直在使用它们时发生冲突,如果我必须选择,我会选择 Jquery。
I hope you forgive me if I'm a little confused about this.
Jrails rewrites all the helper methods for rjs otherwise in prototype.
Jquery-rails overrides rails.js (so I taught the rjs helpers as well, but I see it's not) and the rest of the libraries in jquery instead of prototype.
Does it means that with just Jquery-rails I can't use rjs at all?
Then do these gems work well together and let me completely forget prototype?
Is there any disadvantage in using them together?
I read some complaining about the fact that jrails uses jq 1.5 and now there is 1.8, but jquery-rails gives me the last version (is there retro compatibility?), but how will this affect my development (using both the gems together)? I mean Have you got some examples of jquery-ui plugins I can't use, or I could have problems with latest versions?
Any help is appreciated.
Don't get me wrong, I'm not against prototype, just I keep on having conflicts over conflicts using both of them, and if I have to choose I pick Jquery.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,RJS 需要 jrails。否则,RJS 会生成
prototype
代码。我刚刚开始一起使用 jrails 和 jquery-rails,它们工作得很好。我必须使用 jrails 因为我的应用程序有很多 RJS 文件。一般来说,改用 jQuery 的人会编写纯 JavaScript 代码。他们根本不使用 RJS,因此不需要 jrails。使用 ERB 模板代替 RJS。例如
Yes, RJS requires jrails. Otherwise RJS generates
prototype
code. I just started using jrails and jquery-rails together and they work fine. I have to use jrails because my app has many RJS files.In general, people who switched to jQuery write pure JavaScript code. They do not use RJS at all so jrails is not needed. Instead of RJS, ERB templates are used. E.g.
Rails 有“javascript 驱动程序”的概念,可以用任何 javascript 库替换。默认情况下它使用prototype,但是如果你安装jquery-rails,它会删除prototype的JS驱动程序,并添加jQuery驱动程序。
因此,您仍然可以使用 jQuery 运行 rjs,因为驱动程序不同,并且将输出 jQuery 命令,而不是原型。
关于 jQuery 版本,您将 jQuery 与 jQueryUI 混淆了。 jQuery的最新版本是1.5.1(我认为jQuery-rails有1.5),jQueryUI的最新版本是1.8.10。 jQuery UI 是 jQuery 的扩展,其中包括鼠标交互、更多效果、主题和其他好东西。
如果您是 jQuery 新手,我强烈建议您阅读jQuery 实践。这是对 jQuery 和 jQueryUI 的精彩介绍......绝对物有所值。
Rails has the concept of a "javascript driver", which can be replaced with any javascript library. By dafault it uses prototype, but if you install jquery-rails, it removes the JS driver for prototype, and adds the jQuery driver.
So you can still run rjs with jQuery, as the driver is different, and will output jQuery commands, rather than prototype.
About the jQuery version, you're confusing jQuery with jQueryUI. The last version of jQuery is 1.5.1 (and I think jQuery-rails has 1.5), and the latest of jQueryUI is 1.8.10. jQuery UI is an extension of jQuery, which includes mouse interaction, more effects, themes and other goodies.
If you're new to jQuery, I strongly suggest you to read jQuery in Action. It's an amazing introduction to jQuery and jQueryUI.... definitely worth every penny.