我应该如何根据下拉列表获得可变的新链接?

时间:2014-02-03 17:59:30

标签: ruby-on-rails ruby-on-rails-4 coffeescript

我有一个下拉列表,我希望能够更改传递给路径的ID。

下拉

<select id="student-selection">
    <option value="1">Frank</option>
    <option value="2">Bill</option>
</select>

链接

<%= link_to "Create Pet", new_student_pet_path(:id_from_select_dropdown) %>

这怎么可能?我猜我应该以某种方式使用coffeescript,但除了解析链接字符串并替换ID之外我无法找到一个好方法。

我也愿意在onclick事件中使用div,如果这样可以更容易而不是锚点。

1 个答案:

答案 0 :(得分:0)

我发现了一种很好的方法。我只是将选择选项中的URL作为值而不是通过路径函数使用ID。这样在coffeescript中我只需要将window.location设置为所选选项的值。

<强> HTML

<select id="student-selection">
  <option value="/students/1/pets/new">Frank</option>
  <option value="/students/2/pets/new">Bill</option>
</select>

<强>的CoffeeScript

$ ->
  $('btn-id').click ->
    window.location = $('#student-selection').children("option").filter(":selected").val()