如何从Ransack gem为JavaScript on Ruby on Rails生成的url params中获取特定值

时间:2015-09-26 16:44:20

标签: javascript ruby-on-rails ransack

我的网址看起来像这样:

http://localhost:3000/ads?utf8=✓&q%5Bbrand_eq%5D=ALFA+ROMEO&q%5Bmodel_eq%5D=GTV+%26+Spider&commit=Search

(由Ransack gem生成)

我希望从中获得'model_eq'值,在此示例中应该如下所示:

GTV & Spider

在Rails中用JavaScript(CoffeeScript)做任何无痛的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式从URL中提取数据。

var url = 'http://localhost:3000/ads?utf8=✓&q%5Bbrand_eq%5D=ALFA+ROMEO&q%5Bmodel_eq%5D=GTV+%26+Spider&commit=Search';

var model = (url.match(/model_eq.*?=(.+)&/) || [])[1];
alert(decodeURIComponent(model));

正则表达式将提取model_eq=之后的文本。