2016-11-03 3 views
0

J'ai essayé de trouver un moyen d'insérer un glyphicon dans un text_field pour un rails form_for. Voici comment je la configuration de forme dans des rails:Insérer glyphicon rails à l'intérieur form_for text_field

<div class="form-group"> 
    <%= f.text_field :first_name, :class => "form-control input-sm", :name => "first_name", placeholder: "First Name" %> 
    <i class="glyphicon glyphicon-info-sign" aria-hidden="true"></i> 
</div> 

Alors, évidemment, cela traitera les f.text_field et les i balises comme éléments séparés. Donc, le i sera placé sous le f.text_field(input) et non dedans. La question est donc la suivante: y a-t-il un moyen de placer une balise i ou span à l'intérieur du f.text_field? Je sais que je peux position: relative l'élément i et le placer de manière appropriée sur le champ input qui est créé par le f.text_field.

Toutes les réponses ou suggestions sont grandement appréciées.

Répondre

-2

EDIT: On dirait que j'ai raté ma réponse précédemment. J'espère que cela t'aides.

Vous pouvez convertir le champ à un bloc do comme ceci:

<%= f.text_field :first_name do %> 
    :name => "first_name", 
    :placeholder => "First Name", 
    :class => "form-control input-sm", 
    :html => "<i class="glyphicon glyphicon-info-sign></i>" 
<% end %> 

Je pense que la réponse à cette question offre un bon détail:

Rails, insert span tag in form_for label custom text

-1

Vous pouvez utiliser un bloc pour faire ce. Essayez quelque chose comme ça

<div class="form-group"> 
    <%= f.text_field :first_name, :class => "form-control input-sm", :name => "first_name", placeholder: "First Name" do %> 
    <i class="glyphicon glyphicon-info-sign" aria-hidden="true"></i> 
    <% end %> 
</div> 

Ce type de syntaxe du bloc fonctionne pour d'autres aides aussi comme link_to, button_to, etc.

+1

J'ai essayé de placer le 'text_field' dans un bloc, mais rien ne se passe. Lorsque j'inspecte l'élément, il rend la page comme si ce «i» n'existait même pas. Est-ce que je fais quelque chose de mal? Ma syntaxe est littéralement copier + coller avec ce que vous avez écrit. – Nappstir