Ruby on Rails Gon Gem 与 cookie 或常规 AJAX 请求

Ruby on Rails Gon Gem vs. cookies or regular AJAX request

提问人:jvrsgsty 提问时间:2/28/2017 最后编辑:Jai Kumar Rajputjvrsgsty 更新时间:7/11/2023 访问量:606

问:

我在 Ruby on Rails 上编程已经有一段时间了,为了能够在我的 javascript 代码中轻松访问控制器中的数据,作为初学者,我遇到了 Gon Gem。它非常简单地解决了这个问题,但老实说,对于 RoR 初学者来说有点神秘。

深入研究 gem 的源代码,我现在明白了它是如何工作的: 您要求传递给 JS 的变量由 gem 跟踪,并插入到由标签呈现的视图上的标签中gon<script />erb

<%= Gon::Base.render_data %>

这使得该对象在您的 JS 中可用,因为它将其作为属性注入。gonwindow

我的问题是,这有多好?坦率地说,将 JS 代码动态注入站点只是为了在浏览器中访问服务器中的一些数据似乎有点可疑。这难道不是更好的做法吗

  • 只需通过 RoR 服务器端的端点和来自 JS 前端的 AJAX 调用来提供数据即可。

  • 在 RoR 控制器上执行相应操作期间,在 cookie 上设置所需的数据,然后从 JS 中读取它。
javascript ruby-on-rails ajax cookies gon

评论


答:

0赞 kwerle 7/11/2023 #1

呵呵。

这取决于你想要多少次调用,你的数据有多大,你想使用多少gon功能(更新等)。做事有很多错误的方法。有几种方法是正确的。gon 非常适合某些用例 - 尤其是从 HTML 迁移到大量 js 使用的应用程序。