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