Rails 2.3.5/Ruby1.8.7 Collection_Select Labels with ampersands "&"

I am having an annoying problem displaying the labels of a select box correctly where there is an ampersand contained within the label string.

On a form being rendered with the form_for helper the collection_select reads data from a Mysql 5.075 database the text stored in the database is "Surabaya & Surrounding Areas" when rendered and displayed in firefox 3.6 or safari is is displaying as "Surabaya %amp; Surrounding Areas".

The code used to render the select is as follows:

  <%= f.collection_select :parent_id, Destination.roots, :id, :name, {:include_blank => true} %>

I have tried adding a h(:name) and also storing && in the database but it still will not display the ampersand correctly. Have searched on google for what I thought would be a simple solution but cant find anything that solves this.

If anyone has a solution it will be much appreciated.

many thanks,

David

You can try to change “Surabaya & Surrounding Areas” in your database to “Surabaya & Surrounding Areas”

Best Regards, Boby Ertanto

Boby,

tried that earlier and that produced "Surabaya &amp;amp; Surrounding Areas".

It looks like I might have to write a custom helper method or hack the form_for helper method, which I was hoping to avoid.

If you or another reader has a better way your feedback would be much appreciated.

Thx anyway for your suggestion.

David

Problem solved after debugging further realized my select option values were being created in Javascript from an erb file, the problem was created by using <%= %> instead of <%- %> when creating the javascript to send to the client. Learning something new everyday!