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:

User.new(:email => ‘[email protected]’, :password =>
‘123456’, :password_confirmation => ‘123456’)

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

u = User.new(:email => ‘[email protected]’, :password => ‘123456’, :password_confirmation => ‘123456’)
=> #<User id: nil, login: nil, email: “[email protected]”,
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>

u.save
=> 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.

Thanks,
Nik

Nik,

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.

Best.
Mike

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).

–Jeremy

On Sun, Jun 29, 2008 at 9:18 AM, Nik B [email protected] wrote:

removed this from the user model you’ll need to supply a login.

nil, activated_at: nil, is_seller: false>


http://jeremymcanally.com/
http://entp.com

Read my books:
Ruby in Practice (Ruby in Practice)
My free Ruby e-book (http://humblelittlerubybook.com/)

Or, my blogs:

http://rubyinpractice.com