title: Why would :placeholder work like I want in one form, but not in another in Rails 3?
body: <p>I have two forms in different places, that produce two different results. What I want to happen is on page load, for certain fields that the data exists, the form automatically populates the form with that data - so if the user pressed submit without entering anything in that field it would submit with the right data.</p>
  
  <p>The one that doesn't work is.</p>
  
  <pre><code>&lt;%= form_for :transaction,
       :params =&gt; @result &amp;&amp; @result.params[:transaction],
       :errors =&gt; @result &amp;&amp; @result.errors.for(:transaction),
       :builder =&gt; ApplicationHelper::BraintreeFormBuilder,
       :url =&gt; Braintree::TransparentRedirect.url,
       :html =&gt; {:autocomplete =&gt; "off"} do |f| -%&gt;
    &lt;%#= field_set_tag "Customer" do -%&gt;
      &lt;%= f.fields_for :customer, @user do |c| -%&gt;
        &lt;div&gt;&lt;%= c.text_field :first_name, :placeholder =&gt; :first_name %&gt;&lt;/div&gt;
        &lt;div&gt;&lt;%= c.text_field :last_name, :placeholder =&gt; :last_name %&gt;&lt;/div&gt;
        &lt;div&gt;&lt;%= c.text_field :email, :placeholder =&gt; :email %&gt;&lt;/div&gt;
      &lt;% end -%&gt;
  
  &lt;% end %&gt;
  </code></pre>
  
  <p>The one that does is:</p>
  
  <pre><code>&lt;%= form_for(resource, :as =&gt; resource_name, :url =&gt; registration_path(resource_name), :html =&gt; { :method =&gt; :put }) do |f| %&gt;
  
      &lt;%= f.text_field :first_name, :placeholder =&gt; :first_name %&gt;&lt;br /&gt;      
      &lt;%= f.text_field :last_name, :placeholder =&gt; :last_name %&gt;&lt;br /&gt;    
      &lt;%= f.text_field :username, :placeholder =&gt; :username %&gt;&lt;br /&gt;      
      &lt;%= f.text_field :email, :placeholder =&gt; :email %&gt;&lt;br /&gt;
  
      &lt;%= f.password_field :password, :placeholder =&gt; 'Password' %&gt;&lt;span class="explanation"&gt;(leave blank if you don't want to change it)&lt;/span&gt;&lt;br /&gt;
      &lt;%= f.password_field :password_confirmation, :placeholder =&gt; 'Password Confirmation' %&gt;&lt;br /&gt;
      &lt;%= f.password_field :current_password, :placeholder =&gt; 'Current Password' %&gt;&lt;span class="explanation"&gt;(we need your current password to confirm your changes)&lt;/span&gt;&lt;br /&gt;
  
      &lt;div class="settings_button"&gt;       
              &lt;%= link_to "Cancel My Account", registration_path(resource_name), :confirm =&gt; "This will CANCEL your account and remove all projects and images. Are you sure?", :method =&gt; :delete, :class =&gt; "pill negative button", :id =&gt; "cancel-account" %&gt;
          &lt;%= f.submit "Update", :class =&gt; "primary button", :id =&gt; "update-account" %&gt;
      &lt;/div&gt;
  
      &lt;% end %&gt;
  </code></pre>
  
  <p>What you will notice is that both of them have <code>text_field :first_name, :placeholder =&gt; :first_name</code> but only second form works.</p>
  
  <p>The first form, in the field, outputs the phrase <code>first_name</code>, and <code>last_name</code> in the <code>:first_name</code> &amp; <code>:last_name</code> fields respectively.</p>
  
  <p>Thoughts ?</p>