Comment obtenez-vous l'Ruby on Rails généré id d'un élément de formulaire de référence en JavaScript?

Lors de l'utilisation de la form_for accompagnateur et un text_field appel, Ruby on Rails, qui va générer un id unique pour le <input /> élément qu'il génère. Comment puis-je générer le même id pour l'inclusion ultérieure dans le JavaScript généré plus tard?

<%= form_for @user do |f| %>
  <%= f.text_field :username %>
<% end %>

Puis plus tard dans la page:

<%= javascript_tag do %>
  $('<%= id of the :username field %>').doSomethingReallyCool();
<% end %>
  • Je tiens à souligner que l'exemple supplémentaire dans le bounty est juste un autre cas particulier où la réponse sera utile. Ce n'est pas une question différente. Pour être acceptable, la réponse doit être suffisamment général pour but de s'adapter à la fois l'exemple d'origine et de la mienne. Les deux exemples montre un cas où il est nécessaire d'obtenir un Ruby on Rails généré id d'un élément de formulaire de référence dans le JavaScript”.
  • Meta question à propos de l'actuelle prime meta.stackoverflow.com/q/351561/73226
  • Non, ce n'est pas OK. Gardez à l'esprit que le texte de votre générosité n'est plus visible après le bounty est expire ou est attribué. Une réponse qui répond à la question dans votre générosité fera très peu de sens après le bounty est allé. Veuillez poser une nouvelle question.
  • Je pense que vous êtes de faire des commentaires, sans comprendre que ces deux exemples sont deux cas particuliers de la même le cas général. L'auteur donne juste UN exemple de “Ruby on Rails généré id d'un élément de formulaire” et je suis en train de donner un autre exemple. Exemple Un Exemple et B. Mais la question est “Comment obtenez-vous l'Ruby on Rails généré id d'un élément de formulaire de référence en JavaScript?”, et il manque toujours un décent réponse. Actuellement accepté de répondre (“création d'un formulaire personnalisé builder”) est considéré comme une mauvaise pratique de nos jours.
  • N'est-ce pas le nom de l'id de model_name-de-la-attribut? Et tu ne peux pas ne pas lui donner un id de mon de le spécifier dans les options html?