我有一个链接,我需要在用户点击时为它添加一个额外的参数,这个参数应该在运行时从输入文本读取,如下所示
=link_to "Today", api_retrieve_index_path(campaign_id: "$('#campaign_id').val()", start: (Time.now-1.day).utc.iso8601, end: (Time.now).utc.iso8601), method: :post, remote: true
有没有办法实现这个目标? 谢谢
答案 0 :(得分:2)
您应该在客户端执行此操作,方法是观察链接上的点击操作:
$('a#my_link').on('click', function() { this.href = this.href + '&campaign_id=' + $('#campaign_id').val() }
或者对于现代的Turbolinks兼容方法:
$(document).on('click', 'a#my_link', function() { this.href = this.href + '&campaign_id=' + $('#campaign_id').val() }
这会在用户点击该链接时将campaign_id添加到该链接,但在浏览器导航链接之前。
请注意,这是粗略的代码,因为它假定查询字符串已经到位,因此总是添加一个&符号。