通过jquery将param添加到link_to helper

时间:2013-08-23 08:34:07

标签: ruby-on-rails

我有一个链接,我需要在用户点击时为它添加一个额外的参数,这个参数应该在运行时从输入文本读取,如下所示

=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

有没有办法实现这个目标? 谢谢

1 个答案:

答案 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添加到该链接,但在浏览器导航链接之前。

请注意,这是粗略的代码,因为它假定查询字符串已经到位,因此总是添加一个&符号。