在yml文件中获取Rails ENV变量的问题,它给出float而不是整个字符串

时间:2019-03-16 01:09:57

标签: ruby yaml

我的环境文件中有一个环境变量,

SOME_CLIENT_ID= 574536488180.574908975999

我将其包含在我的secrects.yml文件中

some_client_id: <%= ENV['SOME_CLIENT_ID'] %>

,当我将.rbrails console放在Rails.application.secrets.some_client_id574536488180.575中时,这给了我574536488180.574908975999而不是ENV['SOME_CLIENT_ID']Rails.application.secrets.some_client_id给出准确的值。 {{1}}似乎给了我一些价值,但是当我输入原始价值时,我就需要它。

我该如何解决这个问题?请帮我。 谢谢

2 个答案:

答案 0 :(得分:2)

这就是YAML解析器过于智能的问题。告诉他们这是一个字符串:

- some_client_id: <%= ENV['SOME_CLIENT_ID'] %>
+ some_client_id: "<%= ENV['SOME_CLIENT_ID'] %>"

答案 1 :(得分:1)

Ruby将SOME_CLIENT_ID变量中的值解释为浮点型。如果该值不是浮点数,建议您在机密文件中将其设置为字符串:

some_client_id: '<%= ENV['SOME_CLIENT_ID'] %>'