对于开发和测试,我使用secrets.yml中的设置如下:
test:
secret_key_base: another_really_long_string
database:
:name: your_test_db
:username: postgres_user
:password: awesome_secure_password
solr:
:username: solr_server_username
:password: solr_server_password
这在config / database.yml中很好用,其条目如下:
database: <%= Rails.application.secrets[:database][:name] %>
但是,在sunspot.yml中,以下原因导致问题:
test:
solr:
hostname: http://<%= Rails.application.secrets[:solr][:username] %>:<%= Rails.application.secrets[:solr][:password] %>@hostname.domain
port: 8080
log_level: WARNING
path: /solr
对主机名行中的秘密进行非工作调用的最终结果是任何尝试在开发中启动rails,运行测试,连接到控制台&amp; c。给我这个:
(erb):19:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError)
任何人都可以建议为什么这似乎适用于数据库但不适用于SOLR?