我的环境文件中有一个环境变量,
SOME_CLIENT_ID= 574536488180.574908975999
我将其包含在我的secrects.yml
文件中
some_client_id: <%= ENV['SOME_CLIENT_ID'] %>
,当我将.rb
和rails console
放在Rails.application.secrets.some_client_id
和574536488180.575
中时,这给了我574536488180.574908975999
而不是ENV['SOME_CLIENT_ID']
和Rails.application.secrets.some_client_id
给出准确的值。 {{1}}似乎给了我一些价值,但是当我输入原始价值时,我就需要它。
我该如何解决这个问题?请帮我。 谢谢
答案 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'] %>'