> On 16 Oct 2008, at 22:44, Neal L <[EMAIL PROTECTED]> wrote:
>
> >
> > That sort of worked, it returned an array of true, false values
> > corresponding to !c.selected.  That did help me figure out the
> > solution though.  Here's what worked:
> >
> > @account.clients.map{ |c| !c.can_edit(@unit) ? c : nil }.compact
> >
>
> Sounds like you're looking for the reject function.

Ach, right--or select maybe:

  @account.clients.select{|c| c.can_edit(@unit)}

Sorry for the bum steer.

> > I didn't have a selected property, but I did have a can_edit(unit)
> > method that returns true or false.  Clients that can_edit the @unit
> > are already on the list...
> >
> > Only thing is, this runs a separate database query for each client for
> > the can_edit(@unit) call.  Is there any way to do this in one query?
> >
> That depends entirely on what's in your can_edit function.

If your controller is doing an Account.find() to populate your @account var, 
you may be able to avoid the extra queries by throwing a :include => 'clients' 
on there...

> Fred
> > Thanks!

>
> On Oct 16, 4:13 pm, "Pardee, Roy" <[EMAIL PROTECTED]> wrote:
>> Do clients have a .selected property or some such that you can use to
>> figure out which clients are already selected?  If so you could do,
>> e.g.,
>>
>>  @account.clients.map{|c| !c.selected}
>>
>> I would think.
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]
>> ] On Behalf Of Neal L
>> Sent: Thursday, October 16, 2008 2:10 PM
>> To: Ruby on Rails: Talk
>> Subject: [Rails] Removing values from a select (drop-down) box
>>
>> Hello,
>>
>> I am working on a project, and on one form we have a select (drop-
>> down) box where the user needs to be able to select from a list of
>> clients.  The box is currently being populated with:
>>
>> <%= collection_select(:client, :id, @account.clients, :id, :name) %>
>>
>> The problem is that some of these clients may have already been
>> selected, and we need to remove them from the list.  Is this
>> possible?
>>
>> Thanks!
> >



--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to