2017-09-18 2 views
0

J'ai un champs de saisie, et si l'utilisateur modifie une entrée, je veux qu'il reflète sur la page suivante.Est-il possible de saisir une valeur à partir d'une entrée, et le passer dans les paramètres d'un ruby ​​link_to

C'est ce que l'entrée ressemble à:

<input value="<%= @premium_discount.round %>" class="store_pricing_text_box store_gold" id="pro"> 

Et puis sur le lien pour aller à la page suivante passe déjà un param rubis du item, mais je voudrais aussi passer la valeur actuelle l'entrée avec l'identifiant pro

<%= link_to "I want this!", new_purchase_path(item_id: @item.id), class: "btn_primary" %> 

je pensais faire en ligne jQuery pourrait être la solution - mais cela ne semble pas fonctionner dans une ligne de rubis. D'autres pensées?

Merci!

Répondre

2

Vous pouvez ajouter un autre un class (ou un id) au link_to et un événement click pour ajouter les paramètres supplémentaires; par exemple:

<%= link_to "I want this!", new_purchase_path(item_id: @item.id), class: "btn_primary my-link" %> 

<script> 
    $('.my-link').click(function() { 
    $(this).attr("href", this.href + "&pro=" + $('#pro').val()); 
    }); 
</script> 

Notez la classe ajouté my-link qui est utilisé par jQuery pour détecter le clic sur le lien et ajoutez l'attribut pro à la fin.