title: Rails -- create and create! methods, RoR 3 Tutorial
body: <p>So I know the distinction between the bang (exclamation mark) and non-bang methods usually is whether the method will modify the object itself or return a separate modified object keeping the original unchanged.</p>
  
  <p>Then while building the User model in chapter 6 of the book, I came across the <code>User.create</code> method, which creates a new model and saves it to the database in a single step.  In Michael Hartl's <em>Ruby on Rails 3 Tutorial</em>, he writes that the <code>User.create!</code> method "works just like the <code>create</code> method...except that it raises an <strong>ActiveRecord::Record-Invalid</strong> exception if the creation fails."</p>
  
  <p>I'm pretty confused.  Is the <code>User.create!</code> method not following Ruby "bang-convention" or am I completely missing something?  And if he IS following the convention, how does <code>User.create!</code> modify  self if it is a class method?</p>