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; 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!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs