title: Rails 3 ActiveRecord Update Attributes not working
body: <p>I have trying to allow a user to edit their account (simple enough, eh?)</p>
  
  <p>Here is my Update Method:</p>
  
  <pre><code>  def update
      @user = current_user
      # @user.attributes = {'mail_chimp_newsletters' =&gt; []}.merge(params[:user])
  
      if @user.update_attributes(params[:user])
        sign_in @user, :bypass =&gt; true
        redirect_to edit_account_path, :notice =&gt; 'Account has been updated!'
      else
        redirect_to edit_account_path, :flash =&gt; { :alert =&gt; "Account could not be updated. Please try again" }
      end
    end
  </code></pre>
  
  <p>Route:  </p>
  
  <pre><code>match 'account/edit' =&gt; 'settings#edit', :as =&gt; 'edit_account', :via =&gt; :get
  match 'accounts' =&gt; 'settings#update', :as =&gt; 'accounts', :via =&gt; :put
  </code></pre>
  
  <p>HTML Form:</p>
  
  <pre><code>&lt;%= form_for @user, :url =&gt; accounts_url, :method =&gt; :put, :html =&gt; { :id =&gt; "personal-info-form", :class =&gt; "hide" } do |f| %&gt;
  </code></pre>
  
  <p>When the form is submitted, this is dump in the <code>console</code>:</p>
  
  <pre><code>User Load (0.3ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 43008 LIMIT 1
     (0.2ms)  BEGIN
    User Exists (36.1ms)  SELECT 1 FROM `users` WHERE (`users`.`username` = BINARY 'test@test.com' AND `users`.`id` != 43008) LIMIT 1
    User Exists (33.4ms)  SELECT 1 FROM `users` WHERE (`users`.`email` = BINARY 'test@test.com' AND `users`.`id` != 43008) LIMIT 1
     (0.1ms)  ROLLBACK
  </code></pre>
  
  <p>I'm not sure why this is not working... anyone else run into this issue?</p>