On Aug 16, 2010, at 3:18 PM, Chris wrote:
I'm familiar with setting a field's default in the create_table within
a migration via :default => some value. However, what I'm looking for
is to be able to set the default value based upon the value from a
different field/column. I'm not sure if this is possible or not, so
any help would be greatly appreciated. The exact scenario is that I'm
using devise for my authentication and I've extended it to have a
login_id field in addition to the email field. I'd like to default it
to the value of the email field when the user first creates their
account and they can later choose to change its value if they decide
they would rather use some value other than their email address. I
know I can override the controller that devise uses to set this value,
but I'm trying to see if I have any options that will not require me
to create an overridden controller.
Thanks in advance for any guidance and help.
Chris
Perhaps you can use a before_create callback on the user (account?)
model.
class User
before_create :default_login_id
private
def default_login_id
self.login_id ||= self.email
end
end
-Rob
Rob Biedenharn
[email protected] http://AgileConsultingLLC.com/
[email protected] http://GaslightSoftware.com/
--
You received this message because you are subscribed to the Google Groups "Ruby on
Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.