【发布时间】:2013-05-16 05:40:46
【问题描述】:
我在 3 周前开始使用 Ruby on Rails,到目前为止非常喜欢它,但我需要一些帮助。
我正在开发一个网络应用程序,其中包括跟踪用户的位置并将其定期存储在数据库中。 每分钟获取位置的 javascript 正在工作,但我不知道如何将此位置存储在数据库中。 该脚本在应用程序视图中定义。我设法使用 ajax 和 POST 调用在 UsersController 中定义的 update_location 操作。 lat long 列会正确更新,但会发生页面重定向。我希望更新过程是异步的并且对用户隐藏。
当我尝试使用 PUT ajax 请求(带有 _method=PUT 的 POST)时,我得到一个未找到 user/:id/location_update 的 URL。
我在 RoR 甚至是 Web 开发方面都是一个完整的初学者。 附:我正在使用 Rails 4。
编辑:将 $.ajax 或 $.post 与 _method 一起使用:“PUT”和 URL /update_location 会触发以下 500 错误
ActionView::MissingTemplate (Missing template users/update_location, application/update_location with {:locale=>[:en], :formats=>[...]}. Searched in:
* "/home/.../app/views"
):
我的 update_location 操作如下所示
def update_location
@car = Car.find(3)
if @car.update_attributes(location_params)
end
end
数据库正在更新,但我仍然收到该错误。
【问题讨论】:
标签: javascript ruby-on-rails ajax html