如何在Rails中选择指向URL的选项?

时间:2014-05-01 15:47:28

标签: ruby-on-rails ruby

我正在尝试构建一个选项菜单,其选项只指向URL:

# Ruby:
form_tag "", :method => 'get' do
  select_tag "", options_for_select([["Memberships", memberships_url], ["Transactions", transactions_url]])
end

# jQuery:
$('form').on('change', function() {
  $(this).submit();
});

但是,这不起作用。我错过了什么?

1 个答案:

答案 0 :(得分:1)

您所做的只是提交不作为重定向处理的表单,您需要为表单onsubmit事件添加一个额外的挂钩来处理重定向,但根据您的概念,这似乎是不必要的。

这是如何运作的:

$('form select').on('change', function() {
  window.location.href = $(this).val();
});

或者jQuery中的所有内容我相信你可以使用

$('form select').on('change', function() {
  $(location).attr('href',this.val());
});

显然这个钩子将适用于所有form select DOM对象,所以我建议像这样添加一个id(注意我删除了表单标签,因为它不需要功能)

select_tag "navigation", options_for_select([["Memberships", memberships_url], ["Transactions", transactions_url]])

$('#navigation').on('change', function() {
  window.location.href = $(this).val();
});

您还可以使用

模拟重定向而不是链接点击
window.location.replace($(this).val());