Thanks for the help!
I'll try this solutions now... ^^,
On Jan 25, 7:54 pm, Michael Klishin <[email protected]>
wrote:
> On 25.01.2009, at 14:27, Charlotte wrote:
>
> > I wanted to set some default values for a model. It took me a while
> > but I finally got it to work but I was wondering if there's a better
> > way to do the following (please see the "after :save" part):
>
> As far as I understand, you want your users to have at least one
> context with default name of "uncategorized",
> and at least one calendar.
>
> 1. add :default => "uncategorized" to Context model's name property
> 2. add validates_is_unique :name, :scope => [:user] (or whatever
> association name is) to Context model
> 3. add
>
> before :save do
> self.contexts.create if self.contexts.empty?
> self.calendar.create if self.calendar.blank?
> end
>
> or something similar, to User model.
>
> Optionally you can move two lines in before :save hook into methods
> with meaningful names:
>
> before :save do
> ensure_default_context_is_present
> ensure_calendar_is_present
> end
>
> def ensure_default_context_is_present
> self.contexts.create if self.contexts.empty?
> end
>
> def ensure_calendar_is_present
> self.calendar.create if self.calendar.blank?
> end
>
> but in this particular case it hardly makes things any easier to read.
>
> MK
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"DataMapper" 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/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---