# Struggling with collect

**URL:** <https://www.ruby-forum.com/t/struggling-with-collect/133191>\
**Category:** Rails\
**Created:** [March 28, 2008, 4:24pm UTC](https://www.ruby-forum.com/t/struggling-with-collect/133191 "2008-03-28T16:24:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![craigrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c2a13f/32.png) [@craigrails](https://www.ruby-forum.com/u/craigrails)\
**Post date:** [March 28, 2008, 4:24pm UTC](https://www.ruby-forum.com/t/struggling-with-collect/133191/1 "2008-03-28T16:24:28Z")

</div>

I use a lot of this but I am struggling to get it to show the 'selected  
value…I think that my issue is that I’m using an indexed array.

\<%= options = [[‘Select Facility’, “”] ] + @facilities.sort  
{ |a,b| a.name \<=\> b.name }.collect {  
|fac| [fac.name, fac.id] }  
select ‘counseling\_note’, ‘fi\_facility\_id’, options %\>

This is fine but I want it to show the currently selected value.

How would I modify the above to show the current value (Either fac.name  
or fac.id)?

@counseling\_note.fi\_facility\_id = 9  
@counseling\_note.fi\_facility = “Some Facility Name”  
or I can set @fi\_facility  
or I can set @fi\_facility\_id

but I can’t get it to show the selected value.

Craig
