我在application.html.erb
的{{1}}内有一个变量:
<script>
有没有办法将它传递给我的一个控制器(...
<script>
...
pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
...
</script>
)的方法(posts_controller.rb
)?
我需要将脚本内生成的纬度和经度都加到some_method
中。我怎么能这样做?
编辑:(我没有提到它,但posts_controller
不使用some_method
,但是get 'some_method'
)
post
答案 0 :(得分:1)
您可以使用
window.open("/posts/some_method?longitude="+pos['lng']+"&latitude="+pos['lat'],"_self")
在<script>
内。
使用jquery,您可以使用:
$.post("/posts/some_method?longitude="+pos['lng']+"&latitude="+pos['lat'])
对于vanilla javascript,请参阅此answer。
在some_method
中,longitude
和latitude
将提供params[:longitude]
和params[:latitude]
。
您可以在@lat
内设置实例变量(例如@lon
和some_method
),这些变量将在相应的视图中提供。