I have a seeds.rb file and for some reason, this doesn’t work:
#doesn't work
u=User.new
u['email']=h['email']
u['password']=h['password']
puts u['email']
puts u['password']
if u.save
puts "that saved"
else
puts "that did not save"
end
but this does:
#does work
User.create({:email => h['email'], :password => h['password']})
Is there any reason one works and one doesn’t? From rails console, the first does work? Would there be any differences in validations? I run ‘rake db:seed’ so would think validations would be in effect in both.
thx
edit #1
sorry for lack of info. each one errors with “password can’t be blank” but it then echoes out the password. Hmm…
Find out what’s happening by looking at the validation errors:
Edit: Now that you’ve added that validation errors contain
'password cant be blank'and it still fails to save, it becomes clear thatUser.create()does a number of things whichUser.save()omits.What’s missing is the generation of your password hash – hence the
blank passworderror.