我有一个带有以下代码的js.erb模板:
var latlng = new google.maps.LatLng(<%= session[:lat] %>, <%= session[:lng] %>);
我现在正试图做相反的事情(将javascript插入ruby):
<% session[:lat] = javascript_tag("document.write(location.lat());") %>
答案 0 :(得分:2)
我认为你错过了Javascript的观点。
Ruby代码(示例中的<% .. %>
部分)在服务器上运行。
Javascript代码(var latlng = new google.maps.LatLng(10, 20);
和document.write(location.lat());
)在浏览器中执行
它还在 ruby代码之后执行,当服务器已经处理了请求并生成了结果页面时。
如果您想知道服务器上location.lat()
的值,您必须在AJAX请求中将其从浏览器发送到服务器。任何流行的Javascript库都会对此有所帮助。
答案 1 :(得分:0)
也许你可以尝试<%= raw [ruby/rails code] %>
此链接可能有所帮助:http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/a160d9c2e55cfe36