Ruby on Rails Gon Gem vs. cookies或常规AJAX请求

时间:2017-02-27 18:20:22

标签: javascript ruby-on-rails ajax cookies gon

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

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

<%= Gon::Base.render_data %>

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

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

是不是更好的做法
  • 只是通过RoR服务器端的端点和JS前端的AJAX调用来获取数据?

  • 在RoR控制器上的相应操作期间在cookie上设置所需的数据,并从JS中读取它?

0 个答案:

没有答案