【问题标题】:Best practice for rails-javascript interaction?rails-javascript交互的最佳实践?
【发布时间】:2011-04-07 20:36:09
【问题描述】:

我有一个显示 Google 地图的页面。我想使用 Javascript 从我的数据库中获取几个点并将它们作为标记放置在地图上。所以流程是:

  1. Javascript 调用带有参数的 Rails 操作。
  2. Rails 查询数据库。
  3. Rails 返回响应。
  4. Javascript 更新页面(Rails 不能这样做,因为它必须知道 JS 地图对象)。

目前实施这种方案的最佳做法是什么?我知道我可以使用 Prototype Ajax.Request 来调用 Rails 操作,但是当 Rails 操作返回其结果时,我应该如何调用更新页面的 Javascript 函数?我应该更新一些隐藏的 HTML 并让事件监听器监听它吗?还是有更好的办法?

【问题讨论】:

    标签: javascript ruby-on-rails ajax


    【解决方案1】:

    您有几个选择。

    1) 您的 ajax 请求可以是“脚本”类型,这将允许您编写您的 rails 应用程序呈现的 action_name.js 文件。这可以访问您的所有页面项目(但它不太可能访问您的地图对象,除非它是公开的)

    2) 我的偏好是让您的 javascript 查询 json 数据(类型“json”),然后您可以在 JS 中随意使用该数据。我不使用原型,但一般流程是。

    • 初始化您的地图
    • 使用 ajax 查询一些 json 数据(即带有纬度/经度的位置)
    • rails reponds_to do |f| f.json { render :json => some_hash} 结束
    • 在您的 ajax 回调(返回 javascript)中,迭代 json 数据并适当地向您的地图添加点。 (或随心所欲)

    【讨论】:

      猜你喜欢
      • 2019-09-18
      • 1970-01-01
      • 2016-01-19
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      相关资源
      最近更新 更多