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

时间:2012-05-04 17:51:44

标签: javascript ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

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

js.erb文件中的类似内容

$(“#posts”)。append(“”);

$(“#posts”)。data('totalPosts',<%= @ postCounter%>);

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

谢谢, 阿尼什

2 个答案:

答案 0 :(得分:1)

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

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

建议:切换到api。将您的Rails应用程序转换为服务于json的服务。在客户端上编写jQuery和常规Javascript,以与Rails应用程序提供的服务进行交互。

您还可以在浏览器上使用新的紧凑型库,这样可以轻松有趣。我喜欢AngularJS,例如。

答案 1 :(得分:0)

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

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

相关问题