我在 3 周前开始使用 Ruby on Rails,到目前为止我很喜欢它,但我需要一些帮助。
我正在开发一个网络应用程序,其中包括跟踪用户的位置并将其定期存储在数据库中。每分钟获取位置的 javascript 正在工作,但我不知道如何将此位置存储在数据库中。该脚本在应用程序视图中定义。我设法使用 ajax 和 POST 调用在 UsersController 中定义的 update_location 操作。lat long 列会正确更新,但会发生页面重定向。我希望更新过程是异步的并且对用户隐藏。
当我尝试使用 PUT ajax 请求(使用 _method=PUT 进行 POST)时,我得到一个未找到 user/:id/location_update 的 URL。
我是 RoR 甚至是 Web Dev 的完整初学者。PS我正在使用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
数据库正在更新,但我仍然收到该错误。