[英]How to extract the value from a key pair array?
我有一个带有键的数组,可用于创建下拉菜单的选项
FEEDBACK_NOTIFICATION = [['Only in reports', 'only_in_reports'],['Immediately', 'immediately']]
<%= f.select(:feedback_schedule, options_for_select(FEEDBACK_NOTIFICATION)) %>
第一个值(“仅在报告中”,“立即”)显示在下拉列表中,但最后一个值存储在数据库中(“ only_in_reports”或“立即”)。
当我想在视图中显示值时,我正在执行以下操作:
REPORT_SCHEDULE.select {|v,k| k==@company.report_schedule}.first.first
有没有更简单的方法从键对数组中检索值?
稍微好一些:
REPORT_SCHEDULE.find { |v, k| k == @company.report_schedule }.first
然而,就我个人而言,我将遵循I18n约定将“翻译”存储在yaml文件中,如我对问题翻译ActiveRecord集合以获取下拉菜单中的问题所示
这样,您的“表示形式”便与其余的代码很好地分离了
这应该做。
Hash[REPORT_SCHEDULE][@company.report_schedule]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.