Working around/with Restful Authentication

I'm using Restful Authentication, and the code to create a user is
pretty straight forward - there is a before_save action and a
before_create action:

  before_save :encrypt_password
  before_create :make_activation_code

But for some reason when I try to create a user programmatically in
the controller like this: => '', :password =>
'123456', :password_confirmation => '123456')

Nothing happens. I get a user that I can't save:

u = => '', :password => '123456', :password_confirmation => '123456')

=> #<User id: nil, login: nil, email: "",
crypted_password: nil, salt: nil, created_at: nil, updated_at: nil,
remember_token: nil, remember_token_expires_at: nil, activation_code:
nil, activated_at: nil, is_seller: false>

=> false

Any clues as to how I could create a user without actually being sent
to the user controller's create action? The before_save and
before_create actions are private.



The default generator for restful_authentication creates a user model
with the constraint "validates_presence_of :login". Unless you
removed this from the user model you'll need to supply a login.

Also, did you check the errors on the user model after the failed save
to see why it's not saving? u.errors (using your example) will give
you the list of errors.


Thanks mike - I did remove this constraint... but I did not remove the
constraint that login must be unique... so it was conflicting with a
previous user that has a login of ' '

Next time use #save! rather than #save to get validation errors.
Alternatively you can also view the errors on the object by calling
#errors and looking at what's in there (e.g., puts user.errors).