gpt4 book ai didi

javascript - Rails 远程链接更新记录,同样打开链接

转载 作者:行者123 更新时间:2023-12-02 15:34:03 25 4
gpt4 key购买 nike

我的应用程序包含一个引文模型,该模型属于客户端模型。每个引文只是客户在某些第三方目录(例如 Yellowpages.com)上的本地企业列表。

因此,在我的客户显示 View 中,我拥有属于该客户的所有列表,您可以单击“查看列表”链接,打开该列表的 url,如下所示:

<%= @citations.each do |c| %>
<%= link_to "View Listing", c.listing_url, target: '_blank' %>
<% end %>

单击链接时,我想使用 ajax 调用 Controller 中的一个方法,该方法在打开链接的基础上更新该记录的“updated_at”列。我可以使用远程构建方法来执行此操作吗?或者我必须编写自己的 JavaScript 事件监听器?

最佳答案

为了实现您所要求的确切行为,我建议您编写自己的 javascript 事件监听器。但是,这是一种具有几乎相同效果的替代方法。它使用 ajax 链接来访问您的 Controller ,但新的浏览器选项卡只有在您的 Rails 应用程序响应后才会打开。

将链接更改为如下内容:

<%= @citations.each do |c| %>
<%= link_to "View Listing", {:controller => :citations, :action => :my_action, :citation_id => c.id}, :remote => :true %>
<% end %>

在您的 Controller 中,加载引文并进行触摸:

class CitationsController < ApplicationController
def my_action
@citation = Citation.find( params.require(:citation_id) )
@citation.touch # updates the updated_at column
end
end

在响应 View my_action.js.erb 中,在新的浏览器选项卡/窗口中打开listing_url:

// same effect as a link with target = _blank
window.open("<%= j @citation.listing_url %>");

关于javascript - Rails 远程链接更新记录,同样打开链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33092951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com