我有一个链接到方法的按钮,让我们在UserController中调用它"方法",看起来像这样:
def method
***do stuff***
@my_variable = value dependent on the do stuff part
end
在计算完成后,有没有办法在我的javascript中访问该变量(基本上,当它被定义时)?
答案 0 :(得分:1)
<%= javascript_tag do %>
window.MyVariable = '<%= @my_variable %>';
<% end %>
railscast http://railscasts.com/episodes/324-passing-data-to-javascript?view=asciicast
答案 1 :(得分:0)
如果您不想使用窗口。解决方案,这是一个不同的想法尝试。
这是我在show.html.erb中执行的操作,用于传递反向地理编码地址以映射使用谷歌地图API的js函数中的点。
var latlng = new google.maps.LatLng(js_marker_lat, js_marker_lng);
在javascript函数中,您可以像往常一样使用变量。
"warning: control reaches end of non-void function"
在控制器中,javascript_tag帮助程序不可用,因此您可能仅限于使用html.erb文件来获取js vars。 请告诉我它是怎么回事。