如何在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中的一个没有回答你的问题,我认为我们需要更具体的阐述。
假设我们有如下脚本