On 15 apr 2009, at 01:40, Brian Hogan wrote:
> > The generally accepted way of doig this is to start thinking of a > membership as a first_class entity. > > When you 'sign up', for example, you are creating a membership. > > Membership.create :user_id => params[:user_id], :group_id => > params[:group_id], :joined_on => Date.today, :active => true > > I have found that there is seldom a reason to take an extra DB hit to > grab one or both related objects. In fact, I'd argue that > > @user = User.find_by_id(1) > @group = Group.find_by_id(1) > @group.members << @user > > is a waste of objects and a waste of time. However, if you have both > objects already, simply assign them. > > Membership.create :user => @user, :group => @group, :joined_on => > Date.today, :active => true > > Does that make sense? That does make sense, and I do agree :). However, in a GroupsController.create, with a current_user, wouldn't it be easy to do something like def create @group = Group.new(params[:group) if @group.save && @group.users << current_user, :role => Role.admin # etc end cheers, bartz > On Tue, Apr 14, 2009 at 12:24 PM, Bart Zonneveld > <[email protected]> wrote: >> >> Hey list, >> >> I was wondering on the definitive approach of setting attributes on >> the join model of a has_many :through relation. After some >> googling, I >> didn't find a "shortcut" approach to it, so I started tinkering, and >> thinking. >> Imagine users, groups, and memberships. Would something like this >> be a >> good approach? >> >> group.members << :user => @user, :role => Role.admin >> >> If so, I could whip up a patch. If not, please enlighten me as to >> what >> would be a good way to assign those properties. >> >> cheers, >> bartz >> >> >>> >> > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" 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-core?hl=en -~----------~----~----~----~------~----~------~--~---
