【问题标题】:Agile web development with rails - Ajax使用 Rails 进行敏捷 Web 开发 - Ajax
【发布时间】:2009-10-18 15:22:16
【问题描述】:

我正在使用 rails 2.3.3 和 web 浏览器 Firefox 我添加了 ajax 和 java 脚本,它也可以工作,但是每次按下“添加到购物车”按钮以在侧栏中显示项目添加时,我都必须重新加载页面不重新加载就不要显示。

任何人请帮助我,当我按下添加到购物车按钮而不重新加载页面时,它如何在侧栏中显示项目添加?

【问题讨论】:

  • 你是如何加入购物车的?这是您自己的 javascript,还是您希望 Rails 获得添加然后将其显示在侧边栏上?
  • 我认为您需要向我们提供更多详细信息和/或代码。

标签: ruby-on-rails ajax


【解决方案1】:

如果您还没有这样做,请安装 Firebug for Firefox,原因如下:

  • 它会告诉您是否有 Javascript 错误。
  • 它会显示您的 Ajax 请求是否被接收及其内容。
  • 您可以检查您的页面元素,例如购物车,以查看它是否设置为显示、ID 是否正确等,这比浏览源代码要快得多。
  • 以及更多(CSS 等)。

如果您无法通过查看 Firebug 控制台来解决问题,并且由于您正在学习教程,为什么不下载 Depot 源代码并将其与您自己的源代码进行比较,看看您在做什么错误的。

如果您有这本书,完整的来源会在书末列出。您也可以从here 下载源代码。

【讨论】:

  • 我已经安装了 firebug,但它没有在侧边栏本身刷新添加到购物车。我必须点击刷新按钮才能在侧边栏上看到我的购物车。我需要知道如何更新这个 form_remote_tag?我不知道它的语法你请告诉我。 { :action => 'add_to_cart', :id => product } do %>
【解决方案2】:

标准的 ajax 辅助方法是link_to_remoteform_remote_tagform_remote_forbutton_for_remote。 (我可能错过了一些。)如果你没有使用其中之一,你可能做错了什么。

如果您使用的帮助方法之一带有 remote 作为名称的一部分,则您可能缺少 update 选项或 update 选项指向了错误的 html 元素。

对于form_remote_tag 助手:

form_remote_tag(:url => {:controller => controller_name, :action => action_name, :id => id},
:update => element_to_update)

element_to_update 应该是您要更新的 html 元素的 id。

【讨论】:

  • 我正在使用以下 form_remote_tag 方法,但我没有使用任何更新选项你能告诉我如何更新吗?我正在使用 rails 2.3.3 学习敏捷 Web 开发,但它也没有使用任何更新选项。 { :action => 'add_to_cart', :id => product } do %>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
  • 1970-01-01
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多