# Select does not generate selected

**URL:** <https://www.ruby-forum.com/t/select-does-not-generate-selected/88848>\
**Category:** Rails\
**Created:** [March 14, 2007, 11:45pm UTC](https://www.ruby-forum.com/t/select-does-not-generate-selected/88848 "2007-03-14T23:45:35Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![leonb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/22d042/32.png) [@leonb](https://www.ruby-forum.com/u/leonb)\
**Post date:** [March 14, 2007, 11:45pm UTC](https://www.ruby-forum.com/t/select-does-not-generate-selected/88848/1 "2007-03-14T23:45:35Z")

</div>

Hi,

I have this code:  
\<%= debug @deposit.to\_user\_id %\>  
\<%= select(“deposit”, “to\_user\_id”, User.find\_all.collect {|u|  
[u.fullname, u.id.to\_s] }, {:prompt =\> ‘Select a user’, :selected =\>  
@deposit.to\_user\_id} ) %\>

It generates this:  
— 2  
Leon B.

Gijs Everaard

Why doesn’t it generate the prompt and the selected?

With kind regards,  
Leon B.

---

<div class="post-metadata">

**Author:** ![leonb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/22d042/32.png) [@leonb](https://www.ruby-forum.com/u/leonb)\
**Post date:** [March 15, 2007, 9:13am UTC](https://www.ruby-forum.com/t/select-does-not-generate-selected/88848/2 "2007-03-15T09:13:29Z")

</div>

Anyone? If I change the to\_user\_id in user\_id it works. But that  
requires a change in the database and makes the whole just less  
readable. Especially because there’s another field called  
from\_user\_id.

---

<div class="post-metadata">

**Author:** ![leonb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/22d042/32.png) [@leonb](https://www.ruby-forum.com/u/leonb)\
**Post date:** [March 15, 2007, 8:50pm UTC](https://www.ruby-forum.com/t/select-does-not-generate-selected/88848/3 "2007-03-15T20:50:25Z")

</div>

Maybe there’s anoyher way of achieving the same?

---

<div class="post-metadata">

**Author:** ![leonb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/22d042/32.png) [@leonb](https://www.ruby-forum.com/u/leonb)\
**Post date:** [March 15, 2007, 9:29pm UTC](https://www.ruby-forum.com/t/select-does-not-generate-selected/88848/4 "2007-03-15T21:29:32Z")

</div>

Ahh… got it. This worked:  
\<%= collection\_select(“deposit”, “to\_user\_id”, User.find\_all, “id”,  
“fullname”, :selected =\> “to\_user\_id”) %\>

But now :prompt does not work anymore…  
\<%= collection\_select(“deposit”, “to\_user\_id”, User.find\_all, “id”,  
“fullname”, :selected =\> “to\_user\_id”, :prompt =\> “This is a test”)  
%\>

---

<div class="post-metadata">

**Author:** ![leonb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/22d042/32.png) [@leonb](https://www.ruby-forum.com/u/leonb)\
**Post date:** [March 15, 2007, 9:30pm UTC](https://www.ruby-forum.com/t/select-does-not-generate-selected/88848/5 "2007-03-15T21:30:32Z")

</div>

Ah…  
This works:  
\<%= collection\_select(“deposit”, “to\_user\_id”, User.find\_all, “id”,  
“fullname”, {:prompt =\> ‘Dit is een test’} ) %\>

if to\_user\_id would not be “0”. It’s an integer and probably it’s zero  
to default. Can I change this behaviour? Else the selectlist won’t  
work. And setting it to ‘’ before each selectlist seems like a crappy  
solution.

---

<div class="post-metadata">

**Author:** ![leonb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/22d042/32.png) [@leonb](https://www.ruby-forum.com/u/leonb)\
**Post date:** [March 15, 2007, 10:02pm UTC](https://www.ruby-forum.com/t/select-does-not-generate-selected/88848/6 "2007-03-15T22:02:36Z")

</div>

Ah got it… Yes again…  
table.column :to\_user\_id, :integer, :default =\> nil does it
