How to do collection_select pulldown style="width:200px"?

Here’s an example of the code I’m trying to get working…

<%= collection_select(‘book’, ‘book_type_id’, all_book_types, ‘id’,
‘name’, :prompt => “Select Book Type…”, :style => “width:200px” ) %>

I’ve tried a bunch of different permutations but can’t get the style
width to even appear in the html output. Putting the style hash in
braces with or with the “html_options =” explicitly called out doesn’t
help. I’ve Googled and looked at the API but can figure this one out.

Any ideas?

DAN

I’m wondering if I should try using something besides collection_select
so the width style is rendered to html output.

Any pointers greatly appreciated.

Thanks,
DAN

I figured it out finally…

…, { :prompt => “Select Book Type…” }, { “style” => “width:200px” }

This will set the width of a collection_select pulldown menu.

Maybeposting the solution will help someone else if ever needed.

DAN

Makes sense. Thanks for the clarity!

DAN

DAN wrote:

I figured it out finally…

…, { :prompt => “Select Book Type…” }, { “style” => “width:200px” }

I know this is old, but I’m bumping it because it helped me out. Also,
one other tip for collection_select:

If you don’t need the prompt, you can use this:

…, {}, { “style” => “width:200px” }

Any ideas?
What about this?

<%= collection_select(‘book’, ‘book_type_id’, all_book_types,
‘id’, ‘name’,
{:prompt => 'Select Book Type…"},
{:style => “width:200px”}
)

The docs say that last two arguments are both hashes, so if you don’t
encapsulate the :prompt with {}'s then I think ruby is going to consider
everything from that point on to be part of options, not
html_options…

-philip

Rob Bean wrote:

DAN wrote:

I figured it out finally…

…, { :prompt => “Select Book Type…” }, { “style” => “width:200px” }

I know this is old, but I’m bumping it because it helped me out. Also,
one other tip for collection_select:

If you don’t need the prompt, you can use this:

…, {}, { “style” => “width:200px” }

But note that none of these are good ideas. Style attributes do not
belong in good HTML. Instead, use a separate CSS file. (For best
results, add Sass and Compass into the mix.)

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]