/ / Como devo ter um novo link variável dependendo de uma lista suspensa? - ruby-on-trilhos, ruby-on-trilhos-4, coffeescript

Como devo ter um novo link variável dependendo de uma lista suspensa? - ruby-on-rails, ruby-on-rails-4, coffeescript

Eu tenho uma lista suspensa que desejo alterar o ID a ser passado para um caminho.

Suspenso

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

Ligação

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

Como isso é possível? Acho que devo usar o coffeescript de alguma forma, mas não consigo descobrir uma boa maneira, além de apenas analisar a string do link e substituir um ID.

Também estou disposto a usar uma div com o evento onclick, se isso tornar mais fácil, em vez de uma âncora.

Respostas:

0 para resposta № 1

Eu descobri uma boa maneira de fazê-lo. Acabei de colocar os URLs nas opções de seleção como valores, em vez de usar os IDs através das funções de caminho. Dessa forma, no coffeescript, só preciso definir o window.location para o valor da opção selecionada.

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()