ruby-on-rails - ruby rails : reverse lookup of array list of values

标签 ruby-on-rails ruby arrays hash processing-efficiency

我有一个模型,该模型的用户可选择选项设置在模型的数组中。

def Pie < ActiveRecored::Base
    def self.sel_options
      [ [ "Apple Blueberry", "AB" ],
        [ "Cranberry Date", "CD" ] ]
    end
end

虽然短字符串是从其他地方检索并存储在数据库中,但我想在显示对象时显示较长的字符串。例如在 View 中使用:

Pie.display_customeor_choice[@pie_flavor]

我不想对反向哈希进行硬编码,但是如果我创建一个 display_options 方法将数组转换为具有反向映射的哈希,它会在每次调用 display_options 时运行转换吗?对于经过大量转换的大型数组,这可能是资源密集型的,有没有一种方法可以在应用程序启动时创建一次反向哈希,而不会再创建一次? (使用 rails 3 和 ruby​​ 1.9.2)

最佳答案

您正在寻找Array#rassoc

Pie.display_customeor_choice.rassoc("@pie_flavor")

关于ruby-on-rails - ruby rails : reverse lookup of array list of values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7082142/

相关文章:

java - 如何使数组中的二进制数 "wrap around"变为 0?

ruby-on-rails - API 的时尚 rocco 文档 - 类似 stripe.com- ?

ruby-on-rails - 我可以在 heroku 中托管图像吗?还是我需要S3?

ruby-on-rails - 减少 "rake spec"的冗长

ruby-on-rails - Ruby on Rails - 在临时文件中存储 XML

ruby-on-rails - 在 Redis 中使用特定模式获取键范围的最佳方法

arrays - 使用 jq 向现有 JSON 数组添加新元素

ruby-on-rails - Wordpress 能否被 Django 或 Ruby on Rails 等框架取代?

ruby - 将json数据导入redis

javascript - 数组javascript的两个元素组合