Ruby on Rails实现下拉框同时显示选项名称与ID的技术问询
解决Rails下拉框同时显示名称与ID的问题
嘿,这事儿好办!你只需要调整一下options_for_select里生成选项文本的逻辑,把名称和ID拼接成你想要的格式就行。
你当前的代码里,选项文本只取了u.altername,现在把它改成**名称(ID)**的组合形式就ok了:
select_tag "select", options_for_select(@subject.map{ |u| ["#{u.altername}(#{u.id})", u.id] }), :multiple => true
这里用Ruby的字符串插值#{}把altername和id拼在一起,这样生成的每个选项就会是English(457865)、Math(7895452)这种格式,同时选项的value还是对应的ID,完全不影响后续的表单提交处理。
要是你担心ID或者名称里有特殊字符(比如括号),可以考虑用html_safe或者转义处理,但如果你的ID是整数、名称都是常规文本的话,上面的代码直接就能用啦!
内容的提问来源于stack exchange,提问作者Varinder Sohal
相关产品推荐
相关产品推荐

