title: In Rails, how do I generate form labels without symbols that still create correct "for" attributes?
body: <p>In Rails, how do I generate form labels without symbols that still create correct "for" attributes?</p>
  
  <p>If I take this form:</p>
  
  <pre><code>&lt;% form_for(@thing) do |f| %&gt;
    &lt;%= f.error_messages %&gt;
    &lt;p&gt;
      &lt;%= f.label :name %&gt;&lt;br /&gt;
      &lt;%= f.text_field :name %&gt;
    &lt;/p&gt;
    &lt;p&gt;
      &lt;%= f.submit 'Create' %&gt;
    &lt;/p&gt;
  &lt;% end %&gt;
  </code></pre>
  
  <p>And alter it to improve the clarity of what's expected in the field:</p>
  
  <pre><code>&lt;% form_for(@thing) do |f| %&gt;
    &lt;%= f.error_messages %&gt;
    &lt;p&gt;
      &lt;%= f.label "What would you like to call your thing?" %&gt;&lt;br /&gt;
      &lt;%= f.text_field :name %&gt;
    &lt;/p&gt;
    &lt;p&gt;
      &lt;%= f.submit 'Create' %&gt;
    &lt;/p&gt;
  &lt;% end %&gt;
  </code></pre>
  
  <p>The <strong>for</strong> attribute on the label tag would read "thing_What would you like to call your thing?", which obviously destroys its relationship with the intended partner field.</p>
  
  <p>So how do I alter the label text while preserving that relationship?</p>