I'm a rank amateur with both Ruby and Rails but have nonetheless found myself working on a codebase. I've been able to muddle my way through so far, but have run into a problem that's been breaking my head for hours and I'm hoping someone might have some suggestions.
(The codebase was written in Ruby 1.9.3 and has been moved across to 2.4.1. The code worked fine originally so there's presumably some version difference behind the issue.)
I have a string called 'email' that contains an email address. A new User object (called 'contact') is created as follows...
contact = User.new(:email => email)
Other fields are added to 'contact', including a duplicate of the email address in a 'username' field...
contact.password = passwordString
contact.username = email
The object is then saved...
contactID = contact.indexid
It saves successfully and a new row is created in the User table, *but the email field is left blank.*
Checking the properties of 'contact' both before and after the save shows that contact.email contains the correct data, it's just that no matter what I do I can't get it to save in the database. All other fields seem to be able to be manipulated and saved fine, but email refuses to be saved.
The User model has attr_accessor set for the email field, and changing contact.email in the code seems to work fine, it just will not save the contents.
I'm hoping there is something really simple that I'm missing, but any suggestions will be gratefully accepted!