繁体   English   中英

如何从密钥对数组中提取值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM