【问题标题】:Rails remote calls from javascript来自 JavaScript 的 Rails 远程调用
【发布时间】:2014-05-14 19:13:21
【问题描述】:

我正在为我的新个人网站构建一个完全自定义的照片库。我有一个照片显示视图,其中包含下一个和上一个按钮,这些按钮在链接上设置了“remote:true”,因此它在后台进行调用,然后呈现一个更新页面上照片的 javascript 视图。

现在,我的“显示”视图上有一个全屏按钮,可以在“照片”控制器上打开全屏操作。

我希望根据用户在视图中拖动照片的方式在此处添加上一个和下一个功能。 (拖动工作正常)。在拖动的某个点,我显然需要执行调用以获取下一张照片或上一张照片(取决于拖动方向),但这次调用将来自 javascript 本身。

我该如何做这件事并让控制器返回正确的信息(考虑一下),我将需要照片的 URL、标题、ID 以及它所在的专辑的 ID .

有什么想法吗?

【问题讨论】:

  • 一般的想法是将您需要的任何信息存储在表单中的隐藏字段或属性标签中。如果您可以为拖动添加回调并知道要走哪条路(下一个或上一个),然后发出显式 AJAX 请求并让相应返回的 JS 更新视图。如果需要,您也可以使用 JS“类”。

标签: ruby-on-rails ajax


【解决方案1】:

除了MrDanA 的评论之外,您还需要将所需的属性存储在相关 HTML 中的某处。为了保持干净,我只需将它们附加到 rails 中的image_tag,如下所示:

<%= image_tag "location", data: { title: "", id: "", album: "" } %>

这将允许您为每个图像提供一个不同的 data 属性数组,然后您可以在 JS 中引用它

然后,您只需在拖动图像时创建一个 ajax 调用,即可调用下一个或上一个。至于如何做到这一点,我不完全确定确切的代码,但我基本上会在您正在使用的拖动库中寻找一个事件处理程序,这将允许您触发一个 ajax 请求

此请求将允许您 ping 控制器操作,该操作可以为您返回相关图像。如果您给我们更多代码,我们将能够更好地提供帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 2013-03-14
    • 2017-05-13
    相关资源
    最近更新 更多