Brutyn nick
2005-Dec-01 09:31 UTC
problem with options_from_collection_for_select() need id not name
hey,
i need a select list with a id property and not name, cuz i just ajax with this
list and it checks on id not name
if @request.post? #called by ajax
if @request.xml_http_request? #called by ajax
@geotag_id=params[:geotag_id].nil? ? -2 : params[:geotag_id]
else
@geotag_id=params[:geotag][:id].blank? ? -1:params[:geotag][:id]
end
else
@geotag_id = -1
end
i use this
@geotags = Geotag.find(:all, :conditions =>[''firm_id = ? and
client_id = ? '',
firm_id, client_id])
@geotag_options = @geotags.collect {|g| [g.address1 + ", " +
g.address2 + ", "
+g.floor + ", " + g.city ,g.id]}
<%= select("geotag", "id", @geotag_options)
%><br/>
<select name="geotag[id]">
<option value="%">All</option>
<option value="1">Foster Park 2, Brugge (VME Complex
Foster)</option>
<option value="8">Foster Park 4, Brugge (VME Complex
Foster)</option>
<option value="5">Gistelsteenweg 1, Brugge (Odevaere (VME
res.))</option>
<option value="12">Molenaarsstraat 24, Oostende
(Gevens)</option>
<option value="11">Rederskaai 39, Zeebrugge (VME Complex
Foster)</option>
</select>
but no id tag
i can work with this, here i got an id and the submit works
<select id="geotag_id" name="geotag_id">
<%= options_from_collection_for_select(@geotags, "id",
"address1") %>
</select>
but i also need address2 and floor, and this seems not to work
<select id="geotag_id" name="geotag_id">
<%= options_from_collection_for_select(@geotags, "id",
"address1" + "address2" +
"floor") %>
</select>
can anyone help me?
