<% @list.each do |object| %>
<option value="<%= object['name'] %>"><%= object['name'] %></option>
<% end %>
想能夠過濾<option value="<%= object['name'] %>">
項目的報價以保留最終的HTML - 是否有捷徑可尋?
<% @list.each do |object| %>
<option value="<%= object['name'] %>"><%= object['name'] %></option>
<% end %>
想能夠過濾<option value="<%= object['name'] %>">
項目的報價以保留最終的HTML - 是否有捷徑可尋?
如果這是一個Rails應用程序,那麼我建議使用內置的傭工,像這樣一個:
options_for_select(@list.map{ |object| [object['name'], object['name']] })
如果沒有,那麼也許只是GSUB:
<option value="<%= object['name'].gsub("\"","") %>">
在純Ruby,你可以使用CGI::escapeHTML,像這樣:
<% @list.each do |object| %>
<% escaped_value = CGI::escapeHTML(object['name']) %>
<option value="<%= escaped_value %>"><%= escaped_value %></option>
<% end %>
你將不得不做require 'cgi'
,使用 這個。
如果您使用Rails,你最好使用options_for_select,或使用select_tag或select根據您的需要,因爲對方的回答指定
如果這個值和顯示名稱是一樣的,你只有這需要' options_for_select(@ list.map {| l | l ['name']})... ...如果@ @列表是一個名爲方法名的對象數組,它可以進一步簡化爲'options_for_select( @ list.map(&:name))'..和yeah..'options_for_select'是可用的,如果它是一個Rails應用程序。 – rubyprince