2012-11-26 46 views
0

如何篩選紅寶石行情

<% @list.each do |object| %> 
    <option value="<%= object['name'] %>"><%= object['name'] %></option> 
<% end %> 

想能夠過濾<option value="<%= object['name'] %>">項目的報價以保留最終的HTML - 是否有捷徑可尋?

回答

1

如果這是一個Rails應用程序,那麼我建議使用內置的傭工,像這樣一個:

options_for_select(@list.map{ |object| [object['name'], object['name']] }) 

如果沒有,那麼也許只是GSUB:

<option value="<%= object['name'].gsub("\"","") %>"> 
+1

如果這個值和顯示名稱是一樣的,你只有這需要' options_for_select(@ list.map {| l | l ['name']})... ...如果@ @列表是一個名爲方法名的對象數組,它可以進一步簡化爲'options_for_select( @ list.map(&:name))'..和yeah..'options_for_select'是可用的,如果它是一個Rails應用程序。 – rubyprince

1

在純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_tagselect根據您的需要,因爲對方的回答指定