直接从rails视图发送javascript的任何问题

Any Problems with sending javascript directly from rails view?

本文关键字:javascript 任何 问题 rails 视图      更新时间:2023-09-26

我有一个rails3.1应用程序,我将在其中向客户端发送一些数据。一种方法是jscon调用,然后在客户端上使用jquery将json数据添加到页面。但我直接从视图发送 javascript 代码,即从视图添加 css 类和 id,然后只是将注释数据发送到客户端。

js.erb 文件中类似这样的东西

$("#posts").append(" ");

$("#posts").data('totalPosts', <%= @postCounter %>);

我的问题是这种方法是否存在任何潜在问题?任何安全风险或浏览器问题?

谢谢阿尼什

它会起作用,但从可维护性/系统工程的角度来看并不是那么好:

  • 你最终会得到分散在你的视图文件中的jQuery javascript片段。
  • 你可能会在其他地方有额外的jQuery启动/引导代码。
  • 您正在将动态网页(客户端)与服务器紧密耦合。松耦合更好。
  • 您正在发送jQuery Javascript +数据以响应客户端用户的操作。 更好(也更紧凑)只发送数据。

建议:切换到 API。让你的Rails应用程序成为提供json的服务。在客户端上编写jQuery和常规Javascript,以便与Rails应用程序提供的服务进行交互。

您还可以在浏览器上使用新的紧凑库,使这变得简单而有趣。例如,我喜欢AngularJS。

至于问题 - 这是最相关的来源:https://github.com/rails/jquery-ujs/issues。如您所见,没有严重的问题。

根据我的意见和经验,您可以使用您认为必要的来解决某个问题。