如何在rails视图中访问javascript变量

有没有办法在rails视图中访问javasript变量。 我只是设置了javascript变量的一些值,并希望在rails视图中访问它。

谢谢

您必须了解视图中的ruby代码在服务器上执行 – 在页面上的任何javascript获得执行更改之前。

这就是为什么你不能做这样的事情:

 <%= get_value_of_js_var_somehow %> 

另一种方式是:

  

您可以使用AJAX将javascript变量传递给rails。 例如,如果要将用户的id从javascript传递给rails控制器中的方法,则可以执行以下代码:

  

您将通过POST请求接收变量作为参数。 您可以使用params[:user_id]访问它。

 def method_name if params[:user_id].exists? u = User.where('id = ?', params[:user_id]).first end puts u.path end 

希望我已经回答了你的问题。

如果你在更高的javascript(本身:application.js)中有这个Javascript变量,那么你总是可以在视图中引用它。

 #application.js var someVar = "Hello World"; 

然后在你的视图中(在客户端上执行),你可以……

  

如果这三个post中的一个没有回答你的问题,我认为我们需要更具体的阐述。

假设我们有如下脚本