cool! that works for me.  I look forward to seeing this in a DM
release sometime soon ;)
thanks, Jon

On Dec 9, 8:55 am, Jacques Crocker <[EMAIL PROTECTED]> wrote:
> Hmm.. thats a tricky one. If we added *update_only params to
> attributes=, the only way to call would be:
> @user.send(:attributes=, params
> [:user], :password, :password_confirmation)
>
> Really seems like there should be a helper method that focuses on
> applying an attribute hash to the model.
>
> http://gist.github.com/33704
>
> I've refactored resource.rb to allow a method called set_attributes
> (hash, *update_only). update_attributes now reuses it, and it also
> fixes a vulnerability on update_attributes where non public methods
> get called (fixed in the gist by reusing attributes= to do the work
> for us).
>
> Let me know if anything looks way off base. I'll add some specs and
> submit it back to DataMapper if it seems like a positive API change.
>
> On Dec 8, 3:37 am, Jon Hancock <[EMAIL PROTECTED]> wrote:
>
> > nice, but only useful in situation when I want to do a save along with
> > the assign.
>
> > I see that def attributes=(values_hash)  does not allow me to limit
> > the assign.
>
> > but def update_attributes(hash, *update_only), the method defined
> > right below it in resource.rb does.  Seem like attributes= is in need
> > of a slight upgrade?
>
> > thanks, Jon
>
> > On Dec 8, 6:14 am, "Dan Kubb (dkubb)" <[EMAIL PROTECTED]> wrote:
>
> > > Here's another option:
>
> > > def update(id, user)
> > >   @user = User.get(id)
> > >   if @user.update_attributes
> > > (user, :display_name, :password, :password_confirmation)
> > >   ...
>
> > > Dan
> > > (dkubb)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"merb" 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/merb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to