【问题标题】:how to access this info_config[:hash][key]如何访问此 info_config[:hash][key]
【发布时间】:2014-07-23 12:19:04
【问题描述】:

我有一个文件 info.yml 包含这样的信息

"email1@gmail.com":
      ame: "Paul"
      from: "VISA-PG-Credit Card Acquittal-"
      project: "001-Admin"
      entity: "01-HTW (Los Angeles)"

"email2@gmail.com"
     name: "Bill"
     from: "VISA-PG-Company"
     project: "005-Admin"
     entity: "01-HTW (Panama)"

现在我正在尝试从控制台访问此信息。当我尝试这个时

>>INFO_CONFIG[:"email1@gmail.com"]["project"]

它给了我正确的结果为“001-Admin” 但如果我尝试这样做

>>sender = "email1@gmail.com"

>>INFO_CONFIG[:sender]["project"]

它给了我以下错误:

NoMethodError: undefined method `[]' for nil:NilClass

我的语法有什么问题?

【问题讨论】:

    标签: ruby-on-rails-4 rails-console


    【解决方案1】:

    您可能应该像这样使用to_sym

    INFO_CONFIG[sender.to_sym]["project"]
    

    它似乎做你想做的事:

    "email1@gmail.com".to_sym #=> :"email1@gmail.com"
    

    【讨论】:

      【解决方案2】:

      您传入符号:sender 作为数组键,但您希望电子邮件地址(作为字符串)作为键:

      sender = "email1@gmail.com"
      INFO_CONFIG[sender]['project']
      

      【讨论】:

      • 他不希望电子邮件地址为字符串。他想要它作为一个象征。
      猜你喜欢
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 2019-12-20
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      相关资源
      最近更新 更多