jquery-rails和jquery-ujs之间的区别

gmo*_*iey 33 jquery ruby-on-rails-3

我已经google了一下,但还是无法弄清楚两者之间的确切差异.从jquery-rails上读到我(https://github.com/indirect/jquery-rails)似乎jquery-ujs补充了它,但我不确定为什么/如何.

如果有人可以打破这一点,我将不胜感激.

谢谢.

Jam*_*hen 34

jquery-ujs是一个不显眼的实现,允许您在Rails应用程序中使用jQuery.简单来说,它只是一个rails.js.要使用它,您必须获取jQuery并设置您的Rails应用程序.

jquery-rails是为你做这件事的宝石,它捆绑(在它自己的vendor/assets目录中)最新的jQuery,jQuery-UI和jquery-ujs lib.我建议你直接使用它.

更新:您可以在此处查看vendor/assets/javascripts目录:

https://github.com/rails/jquery-rails/tree/master/vendor/assets/javascripts

在它下面是最新的jquery,jquery-ui和jquery_ujs(与jquery-urj项目中的rails.js相同).

  • 谢谢你的解释.基本上,使用jquery-rails gem而不是自己手动删除这些文件(jquery的文件),或者从谷歌引用它们的优点是,当我更新gem时,它会更新那些js文件吗? (4认同)

Abh*_*bhi 7

jquery-rails是jquery + jquery UJS适配器.

jQuery我们知道它是一个javascript库.Rails团队包括jquery-rails,以避免开发人员的额外工作包括jquery.我认为它们包括jquery UJS适配器,用于在我们使用ajax请求时在rails中发送CSRF令牌.

你删除该行

 //= require jquery_ujs 
Run Code Online (Sandbox Code Playgroud)

并尝试将ajax请求发送到服务器.你会得到一个警告:

 Can't verify CSRF token authenticity
Run Code Online (Sandbox Code Playgroud)

如果您正在使用设计,它可能会自动从会话中注销.希望这可以帮助.