2011-01-30 2 views
0

Essayer de remplir une entrée de texte dans concombre utilisant Webrat avecBug? Webrat ne trouve pas de champ si l'étiquette contient plus d'entrée

When I fill in "Last name" with "Doe" 

donné ce HTML

<label> 
    <span>Last name</span> 
    <input class="title" id="user_last_name" name="user[last_name]" size="30" type="text" /> 
    <small>Some hint text here</small> 
</label> 

lèveront une Webrat::NotFoundError erreur pour l'élément d'entrée.

Si je supprime l'étiquette <small>, le champ est trouvé très bien.

Est-ce un bug? Y a-t-il une solution de contournement existante?

Répondre

1

Ce n'est pas si joli HTML. Il devrait être ceci:

<p> 
    <label for='user_last_name'>Last Name</label> 
    <input id='user_last_name' [ other stuff]> 
    <small>Some hint text here</small> 
</p> 

Ou en termes de ActionView:

<p> 
    <%= f.label :last_name %> 
    <%= f.text_field :last_name %> 
    <small>Some hint text here</small> 
</p> 
+0

Merci pour votre réponse. Et oui, je suppose que c'est discutable si c'est joli. Il est valide, cependant (et fait du bon sens au moins dans ma tête;)) et ne devrait donc pas rejeter Webrat, ou est-ce que je vois cela mal? – polarblau

+0

Bien qu'il soit valide, il ne sera toujours pas ce que Webrat est après. N'allez pas à contre-courant et vous n'aurez pas ces problèmes :( –

+0

Je comprends ce que vous voulez dire et puisque cela résout mon problème et je peux voir comment Webrat pourrait s'étouffer avec mon extravagant balisage, j'accepterai cette réponse . Merci encore. – polarblau

Questions connexes